School tends to be a one size fits all proposition, and some children are misfits.
Despite the best efforts of schools and teachers, some children just do not do well in a large classroom. Home schooling parents have more freedom to find ways to adapt the curriculum and environment to make learning work for their child.
Children are hard-wired to learn from their parents, and parents know their children better than anyone else. Parents do not need special skills or training to teach their children, they just need to be parents.
Standard achievement tests show that home-schooled children score well above their peers in public schools. Even children with cognitive limitations do better when home-schooled.
Now this is just a personal observation, but the home-schooled children that I know have much better social skills than their peers in school. Think about it: at home a child has to get along with her siblings and her parents. She learns how to communicate clearly with them all and this prepares her to communicate freely with anyone else, of any age.