Actually, I have used all three for my daughter. Now I am sending my grandsons to private Christian school.
I prefer private Christian school. If there is not a good one available, or if money is a not available, then I would home school.
Our Christian school also provides support for homeschoolers. Our school provides band, testing, and field trips for the homeschoolers, so the kids do get socializing opportunities.
The reason we sent our daughter, and now our grandsons, to Christian school is because public schools do not support our beliefs. We don't want the schools to teach our children things that we don't believe in, or to contradict what we teach our children. In Christian school, they can study Bible, they can discuss spiritual problems with their teachers, they can study Creation science, and they are in an educational atmosphere that doesn't allow swearing and inappropriate clothing.
I am not ignorant about what happens in public schools. As a terp, I have worked in public elementary, middle, and high school classes, so I have seen what goes on. I have also noticed that the public schools here teach the students just to pass the standarized tests; they really don't care if the students truly increase their knowledge or skills. Many public school students graduate with good grades but they are clueless about everything. Grades are meaningless.
I notice that the students in college are often studying the same things I studied in junior high school (and I did not take advanced courses).