How would you explain the trade-offs behind choosing a database, framework, or architecture over alternatives?