Homeschooling is a great alternative to public schools. It gets your child away from the harsh (and often unjust) school system, potentially abusive teachers, and is, overall an environment that you, the parent, can control entirely.
Public schools are run by the government. That means that the government is indoctrinating your children with what they want your children to believe, not necessarily what you want them to. For example, you might not believe in evolution, but that is what is taught in the public school science class because that’s what the government thinks your kids should be learning about. You get to control exactly what your children learn.
Public Schools are, generally speaking, a poor social experience. The teachers are often underpaid, and very few actually want to be there, which creates a sub-par teacher-student relationship, and there is also lots of other administrator nonsense, like bathroom passes and the bullying problem.
You can also control exactly how much work that you assign your students. Public schools like to overwork their students with lots of homework, and then deduct points for it.
Lunch is a problem for public schools. The food that they provide the kids is very suspicious, and should probably not be eaten. I’ve had a very few school lunches in my time (don’t ask where), and none of them had been very good. Homeschooling also gives you and your child more options for meals that are actual food and taste good.
Finally, most public school kids don’t spend enough time with their parents. Homeschooling gives you the chance to really build a parent-child bond with your kids because you are teaching them and spending a lot more time with them.
Because of all these flaws in the public school system, I think that homeschooling is very beneficial for the students, and, unless some major changes are made to the public school system, then that will always be the case.