Considering that often people complain about the lack of Product Managers or similar roles in most of the FOSS projects, and that nevertheless the same kind of things happens there (it is just a bit slower thanks to the lack of resources), I guess PMs are not the only culprits indeed.
I guess it just comes down to working ethics. Doctors are a good example. Among them there are people who just do a job, who aren't passionate about the whole saving lives. And those are people that work directly with patients and heal people. Now imagine how bad a situation is when a person doesn't work directly with people and responsibility seems little. Among developers, there are people who are genuinely concerned about quality of the code they produce, but they are a minority. There are far more of those, who came in the field just because that's the next big thing and where the money's at. They just spend their whole day ramming that badly written code in a badly written codebase because manager told them to get it done by the end of the day. They don't see the consequences of their actions.
I read something like "a bunch of developers are controlling data of millions of people" some time ago. It feels relevant. Quite a lot of developers don't realize the scale of impact their software can have on people.
It's just your general mundane ignorance and wrong values.
Sometimes I think it would be an interesting mental exercise to convert most (all?) web pages and PC apps to something like a bog simple Windows 3.1 application. You could melt an online banking site to a handful of drop down menus and dialog boxes.
You have to wonder what the effect of ever-more-obtuse interfaces combined with visual gingerbread has on people with vision problems.
OTOH, there's apps that have been around for years where you have to wonder what they were thinking to begin with. Calibre. After Effects. Gimp.