I don't work in academia, so these are just some random musings.
First, schools are often measured on graduation rates at all grade levels. Many teachers, accordingly, are under immense pressure to push these kids through to the next level by their administrators and school systems. If Teacher A has kids being held back at a higher rate than others, the perception can be that he/she is the problem, and not in fact the student or their out-of-school challenges. For the school administrators, if parents start pulling their kids out and pursuing other options (like vouchers or charters), that can cost their school funding, and that creates constraints. Furthermore, if schools held back every kid who probably needed it, you start getting backlog issues in grade levels really fast. Not enough teachers or classes to support the number of 6th graders they'll have, not enough rooms and resources to accomodate the total student body when a new class of kindergarteners is coming in (or freshmen, if it's a high-school issue).
Second, others feel like they're doing the kid a better service moving them along. "What if hold him back and it's the second time he's repeated a grade, and now he's 16 and still a 9th grader....will he just drop out and now things are worse?"
Third, in some of the poorest of school districts, make no mistake that there are teachers who are not qualified to be doing what they're doing, either from subject-matter expertise or in terms of their skill at providing instruction.
I would venture a guess that the bulk of these issues are home-life problems.