The best minds can teach. I started learning Ruby at a class from Jim Weirich and Joe O'Brien in Edinburgh. I arrived without any programming knowledge whatsoever. The rest of the class were all experienced programmers looking to dive into Ruby. Instead of seeing me as a lead weight around their ankles, Jim and Joe often asked the class to try and explain things to me after they had explained it to them. That actually helped the other students because they had to make sure they had taken in what they were taught. It really helped me because I was thrown in at the deep end. Thanks to them I am able to build things for myself, for others and for fun. More importantly, I hope that I will be a better employer of engineers when I start my next company. I hate the phrase: "those who can't, teach". I think the opposite is true.
I don't think it's the opposite—there are many who "can" who can't teach. (I say this based in part on seven years of taking physics courses at Harvard and Caltech. Trust me: some of the most brilliant physicists absolutely suck in the classroom.) That said, Jim and Joe are clearly exceptional in both respects—guys who can do, and who definitely can teach as well.
Do you think it was because they were uninterested in teaching, or were earnest but inept at communicating concepts that were already firmly established in their minds?
(My pardon, I meant to upvote you, but clicked wrong. :( )
While apathy certainly explains many mediocre instructors, I know for a fact that some outstanding scientists desperately want to be good at teaching but just don't have the magic touch. As a mathematician might put it, knowing the material is a necessary but not a sufficient condition for being able to explain it.
Teaching is a skill, just like anything else in this world. You can be a natural at it or have no innate talent at it, but if you want to get better, you will. The teachers everyone remembers are experts both at their subject and at teaching. It's very, very hard to be an excellent teacher.
I don't know Jim and Joe's background, but (knowingly or not) they've hit on one of the most tried-and-true teaching skills for working with a group of students with mixed skill levels: peer instruction. The advanced students are forced to really push the boundries of their knowledge to explain the material, while the weaker students get a second (and lower pressure) presenation of the material, often with a different approach. If you know nothing else about teaching, this is probably one of the best techniques to keep in your back pocket.