Por partes:
Não se recomenda a passagem de parâmetros para uma função caso esta seja executada em um trigger, -- Certo. Segundo[1], no caso do PostgreSQL, funções de triggers são funções que não recebem nenhum parâmetro e retornam o tipo trigger. Essas funções recebem uma estrutura chamada TriggerData, e esta é passada internamente para a função pelo PostgreSQL.
visto que a função pode alterar a forma de funcionamento do trigger. -- Como assim alterar a forma de funcionamento?? A funcao vai fazer aquilo que foi programada para. Segundo[1], "cada linguagem, que suporta triggers, possui o seu próprio método para tornar os dados de entrada da trigger disponíveis para a função. Estes dados de entrada incluem o tipo de evento da trigger, assim como as opções informadas na criação da trigger. Para uma trigger no nível de linha, os dados de entrada também incluem as linhas NEW para as triggers de INSERT e UPDATE, e a linha OLD para os triggers de UPDATE e DELETE".
Quando ele diz "alterar a forma de funcionamento", tá dizendo o q?? dropar, ao inves de deletar, por exemplo??
Repito : a função faz aquilo q foi programada para.
Fonte:
[1] https://imasters.com.br/data/triggers-no-postgresql