“Complexity is the enemy of fault-tolerance” - @Gigi
Nah, too superficial. It's about unnecessary complexity. There is nothing wrong with performing a function and properly supporting edge- and error-cases. It would be worse to neglect these cases and have things seem simple but be unpredictable and fragile. The idea is to reduce complexity where possible.
What complexity implies, in many cases, is that you will not be able to see the edge cases, until they happen.
This is what I tell myself when struggling to understand some mental system architecture.