Software Engineering ยท Design
Is a situational choice where you give up some amount of one quality, value, or thing to gain more of another
Example: Faster load times at the cost of higher memory use.
In practice: Naming the trade-off explicitly in a design doc or ADR is usually more valuable than debating which option is 'better' in the abstract, since the right answer depends on which cost the team can actually afford.