Not the most correct but the least complicated theories find practical application. – Konrad Zuse
A translated quote from one of the inventors of computers and modern computer science I read last year under a bust of Zuse near Kleiner Tiergarten in Berlin this statement is more relevant today than ever.
In software development in particular we often attempt to design solutions that cover each and every possible use case – however unlikely or even virtually non-existent that use case might be. We tend to pursue that elusive perfect abstraction that allows us to accommodate every potential present or future use case we can think of while losing sight of those aspects and use cases that actually matter the most.