Being a public school teacher for 30 years, I am against home schooling. I believe children need to be with their peers at school to learn more than just school subjects. Children need to learn to get along with others, tolerate those different from them, how to focus on learning in a classroom with others, how to ignore distractions going on around them, how to learn from a variety of teachers, and the list goes on.
I have seen children home schooled very well. I have seen parents who were serious about their child's learning, set up a great routine for everyday learning, knew very well he subjects they were teaching, and when the content became more difficult than they could teach, have the sense to send their child back to the public school.
But, I think children need to hit the milestones provided for them in school, the emotional maturity they learn in school, be able to attend school dances, sports, and other extracurricular activities. They need to hear different viewpoints and opinions than just those of the family they are growing up in. They need to learn to work in groups with other children and they need to learn to forge friendships with those they might not come into contact with only learning in the home.
In other words, the world is a classroom in itself and children learn in many forums. It takes a village.