Chris Kiehl hits his hammer right on the head of this common sentiment in software circles:
Developers from certain languages [Java] have learned to wield this design principle with more power than many others. It’s how we end up with so much stuff in code bases that’s just… there. Existing. Superficially it appears unused, but silently and stoically, we know it protects us from the turbulent future change which lurks ever ahead.
The antithesis of one of my favorite design principles: YAGNI