One criticism I've encountered of American math education that instead of trying to cover a few topics in reasonable depth, they concentrate on covering many topics but to a very shallow level.
Another criticism is that we try to treat everyone exactly the same. It is somehow unfair to group students into classes by their abilities.
When I was in school we had 60 students, more or less, in my grade for all twelve years. What I didn't realize until it became quite obvious in junior high was that the three classes were grouped by ability from second or third grade through eighth grade. The top third was in one classroom, the middle third in another classroom, and the bottom third in yet another classroom. The teachers were able to teach the classes according to the abilities in that classroom. Each class progressed at different rates and to different degrees of mastery of each subject.
By just randomly assigning students to one of three classrooms, the teachers end up having to teach all classes with instruction geared toward the worst students in the grade. The smarter the student, the less there is to interest them in the class.
In high school we ended up getting mixed together to a degree, but there was some differentiation based on the fact that different people were attracted to different courses. Being a small school, we didn't have a great number of different courses, but maybe a third of us took geometry and chemistry and only a tenth of us took physics.