Eae Edney, tudo bom ?
Acredito que depende do momento da pessoa no seu aprendizado. Para uma pessoa que está tentando melhorar a sua semântica HTML e estilização com CSS, fazer clones de outros sites é uma boa alternativa. Perceba que existe um objetivo específico para fazer os clones, ou seja, apenas fazer isso realmente não vai te ajudar se o seu objetivo é trabalhar na área.
Eu gosto muito de utilizar o formato TPD (Teoria, prática e desafio) nos cursos que faço, e alguns deles ja propiciam isso para mim. Muita gente comenta que programação é práticar e práticar, mas para mim o grande diferencial é a Teoria. Você práticar e práticar sem saber a teoria vai te fazer decorar algo, e não aprender algo.
Geralmente, os cursos que faço é o professor ensinando ao mesmo tempo que desenvolve um projeto. Nestes casos, eu perco um bom tempo apenas entendendo o que o professor está explicando, ou seja, eu não faço o código junto com ele. Depois que ele explicou determinado tópico, ai eu replico o que ele fez, e isso é a prática. Para muita gente, isso é o suficiente: Entendi a teoria, e apliquei na prática, mas você só aplicou aquilo que o professor previamente já desenvolveu. O desafio é você bolar uma idéia para criar uma aplicação onde você não assistiu ninguém programando a mesma. Você deverá aplicar sozinho a lógica da aplicação, de que forma desenvolver as funcionalidades, procurar a resolução dos problemas, etc. Essa é a minha opinião sobre o assunto. Prática é diferente de Desafio.