Everything that's wrong with modern software can be summed up in two words:
"Unnecessary Complexity"
Programming languages, project structure, build systems. libraries, performance, team structure, all suffer from this.
Unnecessary complexity affects most human activities. Just look at politics and the legal system. We try and solve every problem by adding something new which just adds another set of problems. But programming has a particular problem because programmers usually self select for enjoying complexity. We enjoy being able to understand something complex and get it working. We are engineers of probably the most complex structures humans have ever created.
Because of this it's our job to fight complexity where ever we can. There will always be complex problems where we do need to flex our brains, but everywhere else we need to strive for simplicity. Complexity is the enemy of good software.