In my experience, Linear Programming (taught in most Algebra/precalculus and some Geometry courses) is poorly understood by teachers who have "mastered" it (ie. they know the procedure) and seldom grasped by students.
The method taught is to graph the feasible region (the dark blue area). The isoclines (solutions to various equations in standard form with the constant varying) are the lines drawn across the diagram. The students are told that a maximum or minimum will occur at one of the vertices of the feasible region, and the isocline that passes through that vertex has the constant that is the maximum or minimum.
This is all very abstract, and students just don't get it. Teachers demonstrably don't get it either, though they can do it.
I was taking an excellent course on methods for teaching mathematics at Tufts, and the professor showed this method. Nobody really got it. So the next day I brought in a model that made it clear, and everybody understood it immediately.
My idea was simply to show this as a three dimensional graph. I made it out of acetate sheets and scotch tape with chopsticks as axes. I used the x/y plane as the base, and graphed the feasible region on it. The z axis represents the evaluative function, so that instead of having aX + bY = c, we are using aX + bY = z. I built walls of acetate for the feasible region to show that it forms a prism in 3 space, and marked the z axis value on them as horizontal bands. The evaluative function represents a plane in 3 space that cuts across the prism. I made a piece that capped the prism where the plane would be, and drew the z axis value isoclines on it. The result looked a lot like this diagram of a prism cut by an oblique plane:
In that diagram, d is the origin, da is the x axis, dc is the y axis, and de is the z axis. gbfe is the plane of the evaluative function. The diagram lacks the isoclines of the z axis.
As soon as I showed the model to the professor and the class, they all understood it. The professor said she had never seen that explanation before, but that in retrospect it was obvious. I showed it to the mathematics faculty at Boston Latin School, and they said they had never seen it before (and many of them confessed that they had never really understood linear programming: it was just one of those "hard" things that they memorized the procedure for.)
I suspect there are a number of other "hard" things in high school math where explanations could be greatly improved if only teachers were willing to confess that they didn't really get it.