Every implementation choice has a cost. The useful question is whether the cost is paid now, later, by the user, or by the team.
I compare options by reversibility, operational risk, learning value, and maintenance weight. Those categories make the conversation more concrete.
The best tradeoff is rarely perfect. It is usually the one that keeps the product moving while preserving a clean path for the next decision.