Trade-offs and Mistakes in Software Design: Making Better Choices in Programming was a book I read.
Trade-offs are sometimes not documented. While the reasons for choosing something might be written, the reasons for not choosing something else are often not indicated.
This book emphasizes the importance of considering design decision trade-offs in contrast and provides examples of trade-offs in software design.
In the latter half, there were chapters that seemed to question whether they were trade-offs.