It is just bad teachers. The reality is, most school teachers simply have no business teaching and have no idea what they are doing. To a great extent it is true even at universities, for, as it turns out, a good scientist does not automatically make for a good communicator/educator.
Look, my dad grew up in freaking Soviet Union, with the level of brainwashing no Western kid will ever experience - and yet his teachers in non-political classes were awesome. Why? Because, as lousy as that regime was, teachers there (in the capital, at least) were respected, and becoming one was pretty hard: you had to demonstrate extraordinary leadership qualities to even be given an interview. And once you got the teaching job - especially at one of the better schools - you would be pressed to take it very seriously and work on your skills actively.
What I see in American schools is very different. The school near me has a couple of obese teachers running physical education classes... I grew up in post-Soviet Russia where most people become teachers because they cannot get any other job... Needless to say, most of them really sucked - yet even there I have never seen a physical education teacher who was out of shape.
Teachers' unions really have done a number here, but they are just a symptom of the real problem. The real problem is that people do not have high expectations of the teachers: it is somehow assumed and accepted that most teachers are going to suck and people are okay with it. I am not even talking about the creationist weirdos teaching kids Christian nonsense (this kind of thing does not fly even in most totalitarian dictatorships), but just about teachers who treat teaching like a frustrating job and have zero passion for it. No one would hire a running coach who does not run - but physical education teachers who do not exercise and eat junk all the time? Hell yes, bring the elephants in! This is what you get when you do not pay for something directly, but hand your money over to the government and let it decide what services you are going to get.