Triggers protect you against bugs.
If your application logic needs to remember to update a denormalized column somewhere it's very easy for a bug to slip in in the future when someone adds a new piece of Python code but forgets to update the denormalized column.
With triggers you can eliminate that source of bugs entirely.
This is even more valuable if you have more than one system interacting with a single database.