It does not contain superfluous parts

A problem can be solved by many solutions, but the best ones have few moving parts. Less moving part implies less to understand, test and maintain.

Sometimes we write superfluous code because we misunderstand the problem. Other times we end up implementing requirements which were never asked because our experience or anxiety for the future biased us. Finally, even when everything is clear in our minds, we need to take the time to explore different designs and see what works best.