I think the main issue with public schools is that students get so many distractions that you end up with a larger percentage that receive a substandard education. In a private school you can kick a student out, in public schools you have to teach what you get.
If a student, say, stabs another student and is convicted of that crime, they still need an education like any other. The fact of having a convicted criminal in the classroom is a massive distraction for the 30 or so other students in the class and it affects everyone.
My wife is a public high school teacher and the stuff she has to put up with is incredible. Convicted criminals and parents that blame teachers for everything, it's all part of the job. She was the victim of one particular incident recently and the parents tried to pin it on her instead of admitting their child might, shockingly, have done something wrong. Luckily the school is a good one and didn't back down to the parents demands.
It doesn't help of course that they've raised the minimum age that students are allowed to leave school in order to make the unemployment numbers look better. Because now you have students who don't want to be there all the way up through year 11, making life hell for everyone else.
I grew up in public schools, and if I ever have children I'm sending them to private.