Reutilizar, criar ou reutilizar com interface

Em projetos de longa duração, qual o mais confiável,
utilizar bibliotecas que possuam itens que precisa,
criar do zero ou
utilizar bibliotecas, criando interfaces para utilização específica?

Não existe resposta pronta para isso.

Isso varia de projeto para projeto. As vezes um componente pode estar horrível que vale mais a pena recriar, mas já vi o contrário acontecer. Um componente estava “tão baum” que ele era sempre reutilizado.

Outro fazer é tempo. Talvez o projeto não tenha tempo para criar uma biblioteca do zero. [=

Olha, isso eh realmente complicado, as vezes dah uma vontade mudar as “danadas das bibilhotecas”, mas quando agente pensa no monte de encrencas que isso vai dar, eh melhor ficar quetinho e pronto.

É por isso que existe o paradigma “divide and conquer”.
Quanto mais atômico for o desenvolvimento, mais fácil o compartilhamento de recursos seguros.
Veja o escopo de cada dependência, e modularize em pequenos subprojetos.