I've noticed that many system design discussions (and even interviews) spend a lot of time drawing boxes and arrows, but very little time discussing the trade-offs behind architectural decisions.

For example:

Should you optimize for consistency or availability?

When is a monolith actually a better choice than microservices?

Is event-driven architecture worth the added complexity?