There are good teachers and there are bad teachers, and there are individual preferances and prerequisites to how things should be taught. Is there something wrong in the way math is taught in most instances? Yes, definitely. What can we do about that? I have a few suggestions:
A lot of math courses, a lot of schools and a lot of teachers doesn't include any history of the methods and concepts discussed. This derives the student of the opportunity to put what he is doing into a historical context. The student is not told why someone had to develop the method. What was the original problem, and who found out? Mathematics is after all developed by humans. For some it may be stimulating to know more of the history of mathematics, putting it in a historical and cultural context, whilst hearing where the idea came from might help the student to visualize and intuitively comprehend the concept.
There is a myth surrounding mathematics that goes something like this: "Nah, my brain is not created for mathematics, therefore I can't learn it". This is nonsense, everyone can learn mathematics with some work, will and effort. Mathematics is NOT reserved for a few people only, that's complete gibberish. Our attitude towards mathematics is awful, and contributes alot to how people perform in it. It's okay to say you suck in math when you're in high school, because everyone else says so. Before you've even met real mathematics and know what it is all about, you have been programmed not to like it, to perceive of it like something awfully hard and difficult and something to get away from.
Students and parents alike perceive of mathematics often like a set of skills that should be acquired, a set of skills that might prove useful in their later careers. This means that we think the skills must be learned, commited to memory, and no real understanding need occur. Since mathematics is useful, it must be tested. Since in our perverted view of math as a skill, it must be tested as a skill. Since it is useful, everyone must learn it. The result is that standard tests are applied that have almost nothing to do with a real and proper mathematical understanding, but showing a skill you have commited to memory. You are tested for brute knowledge and memory, speed and slickness. We as a culture doesn't seem to know what mathematics really is.
This is reflected in the way it is taught; There are no real problems, but goddamn exercises. "Here is a type of problem. Here is how to solve it. Do exercises 1-15 using this method". With this kind of education there is NO stimulation of the students intellect. The student doesn't get the opportunity to get curious and start thinking. The student is presented with a solution of a complex problem almost before knowing what the damn problem is. How about real questions like; How long is the diagonal of a cube? Do prime numbers keep on forever? Is infinity a number? It is questions like these that is the essence of mathematical development.
Mathematics is art, it is aesthetic beauty, it is a creative process. A paint teacher gets his students painting. A math teacher should get his student to do some real math. Present a good problem, get the students curious and see what they may come up with. Present solutions later! Education of math today is in short all about "lecture, test, repeat".