Duplicação de código é mais barata do que abstrações erradas | iMasters
Porque de início não conhecemos todos os casos de usos, requisitos, necessidades ou até mesmo o design da arquitetura, estrutura ou códigos. Então se criarmos abstrações logo no começo do projeto pode não ser uma ideia muito escalável, se no futuro as abstrações não fizerem mais sentido ou necessitarem de atualizações vão gerar retrabalhos, custos, complexidades e altos pontos de impacto no projeto.
Tudo é uma questão de equilíbrio e custos, cada abordagem terá seus ganhos, perdas (sim, todas elas tem perdas) e os custos para mantê-las. Garanta que seu projeto, você ou sua empresa tenham as condições da pagá-los.