Não se trata tanto dos benefícios, mas mais do que é apropriado para uma situação específica, como você disse. Você pode representar praticamente qualquer coisa com um nó e, em 99% das situações (como descobri pelo menos), não será necessário implementar tipos de entidade personalizados.
Eu sempre penso no taxonomy_term
tipo de entidade como um bom exemplo de por que nem tudo deve ser um tipo de nó / conteúdo:
Um termo de taxonomia é essencialmente para agrupar entidades diferentes e, como tal, não requer a mesma funcionalidade que um nó. Embora você possa teoricamente usar um tipo de conteúdo para executar essa funcionalidade (talvez com um campo de referência de nó), um termo de taxonomia não precisa fazer a mesma coisa que um nó, por isso não faz sentido. O mesmo pode ser dito para os tipos de entidade user
e taxonomy_vocabulary
.
Portanto, um termo de taxonomia é criado como uma entidade separada e é programado para fazer apenas o que for necessário, enquanto obtém os benefícios de poder ter campos anexados etc.
Eu acho que a resposta simples é que, quando um nó / tipo de conteúdo não faz o que você precisa, ou é apenas uma quantidade enorme de sobrecarga / sobrecarga por muito pouco benefício, você deve optar por escrever uma entidade personalizada.
Isso é baseado apenas na minha experiência pessoal; Eu ficaria interessado em ouvir o que alguém diretamente envolvido com o desenvolvimento do núcleo do Drupal tinha a dizer sobre isso.