"Public" (that is, publicly-funded, not open to the public) schools generate large amounts of angst. It is obvious that our method of schooling our children is not particularly effective. There's a lot of ignorant smart people out there. Where were they in public school? How do we solve this problem? Democrats are influenced by the left when they call for more public control of schools. Republicans are influenced by the right when they call for school vouchers.
The problem, it seems to me, is the public education is "free". That's what socialists want: for everything to be free of market considerations. If something has no price, it cannot be controlled by the market. According to socialist arguments, market control is the problem; replacing it by political control solves the problem. But not everybody is propelled by socialist arguments. Many want public schooling for two reasons: first, because it's injust for a child to have parents who don't value schooling, and second, because educated citizens create an externality. If people around you are better able to run their lives, they'll create benefits that fall on other people.
The first argument is easily disposed of. If public schools exist to save children from bad parents, then why does public schooling start at age five? Why not start immediately after birth? A child's basic personality is set by age three. If public funding of schooling is to achieve the goal, then public funding of parenting should start as soon as a child is born. Children should be taught to walk, talk, and use a toilet by trained educators. Reductio ad absurdum -- at least I hope that everyone agrees that that is absurd!
The second argument -- that externalities justify public funding of education -- is more interesting. I see two problems with it.
First, the existance of positive externalities of an action is not evidence that the action needs to be publicly funded. If political priorities were set rationally (which they are not -- for all that behavioral economists claim that people do not make rational decisions, their alternative is not particularly rational either), then something would be publicly funded ONLY if the public gain exceeded the public cost AND if the private cost exceeded the private gain. If individuals gain a benefit from educating themselves, then they'll be willing to pay for it.
Secondly, look at the incentives. If taxpayers fund public education because of externalities, then funding it beyond the value of the externalities is irrational. If you happen to have children in school at the time, then you'll be willing to pay more. These two effects guarantee that public schooling will never have sufficient money.
We will never have the best schools, much less adequate schools, until we separate school and state.