It doesn't need to be so bad, but in larger organizations, it often is so bad. It just takes a few bad seeds of pattern-zealotry in an organization to poison the codebase into a God-awful mess. Once the patterns become a common practice, and every constructor has been dependency-injected ad nauseum (despite most interfaces having only ever having 1 implementation), there's just no going back.
It's not just larger organizations. I've seen exactly what you're citing — where even the most trivial objects were injected — in an organization with roughly 5 developers.