Falando somente sobre Trigger, é quase geral essa lista abaixo :
POR QUE NÃO USAR TRIGGER
1 - Ao adotar Trigger resultará na quase impossibilidade de migração de banco de dados. Trigger utiliza linguagerm proprietária.
2 - Trigger é uma linguagem alienÃgena na aplicação. O sistema possui regras de negócio que disparam ações no banco de dados e você quer mudar o processo pois não se adpata ao sistema. Não é melhor adaptar o seu processo ou solicitar uma mudança pra empresa do software?
3 - Queda de perfmormance. Por mais que você utilize condições para sua Trigger ser rodada ela será chamada para fazer o teste.
4 - Trigger é centralizadora, não fica a cargo do usuário. O usuário não pode decidir se usa ou não. Tá na regra de quem desenvolveu. Se colocar no aplicativo o usuário pode ter domÃnio sobre o mesmo.
5 - Em um ambiente de segurança, data center por exemplo, dependerá de um DBA responsável para criar, alterar ou apagar a Trigger, visto que esses comandos são DDL.
6 - As atualizações de versões dos sistemas e de banco de dados (incluindo conversões do RM) não olham as Triggers. É um trabalho a mais para administrar e se não testar antes sua produção pode parar.
Fonte :
https://www.forumrm.com.br/topic/4561-trigger-sim-ou-n%C3%A3o/