There was a heated discussion on slashdot "Why Students Are Leaving Engineering", relating to an article "Confessions of an Engineering Washout." The discussion is mainly from (engineering) students' point of views.
One of the issue they touched is that their professors and TAs are incompetent teachers. They may be good at research, but they cannot teach (or even communicate). This may be true in American setting, where research is more important than teaching, but the reverse is true in Indonesia (and perhaps other Asian countries). Here, professors, lectureres, and TAs are more focused on teaching. That does not mean that they are better at teaching than their counterparts in America, though.
Here's a lecturer's point of view. (I cannot call myself a professor because here it is a formal thing, which I don't really care. If I were to teach in North America, which I did in Canada, I would be called a professor :-))
I enjoy teaching. That's why I am still staying at the university. One of my goals in teaching is to make complex things easier to understand. I want to make engineering fun. But, most people do not appreciate this. When things look trivial, people take them for granted. Anyway, we (teachers) do make extra effort in preparing our classes.
If less than 50% of the class passed the exam, then there must be something wrong with the teachers, or the exam, or the material, or ... the students. But if all the students got "A"s, it may not be right either. (Some professors felt guilty that they did not do a good job in teaching and gave all the students As. That's not right!)
The thing is, I want my students to be better than me! Otherwise, we as a society is declining, don't you think? I think there's something wrong with education in America. Please, fix it!