In watching Matt Gerry‘s latest tutorial on Triggers, he recommends only having 1 type of automation process throughout your org, whether that’s a trigger, a flow, a validation rule, etc.
In his YouTube video, he demonstrates some benchmark timings to show the performance gains when executing a validation rule using Apex versus a declarative approach.
He also mentioned it could be a controversial topic and maybe some would disagree.
It also could be a somewhat unrealistic approach, depending on how many hands are touching the org and where their respective skillsets lie.
An interesting thought, nonetheless.
Tutorial below along with timing comparisons starting at the 1:05 mark.