There are, I expect, nearly as many reasons for homeschooling as there are homeschoolers, however they do seem to fall into certain broad categories.
Many Christian parents choose to homeschool for 'religious reasons', meaning that either they feel the theological and moral formation at the schools available to them are deficient, or they want to have a more hands-on experience of teaching their children religion. This is not, however, the main thing that attracts me to homeschooling -- though certainly, experience tells us that no matter how Catholic a school may be, the primary religious formation has to take place at home. Still, I don't think it's necessary to homeschool your child to give her (or him, if you happen not to be a Darwin) a solid religious foundation.
In our case, we plan on homeschooling primarily because we have enough opinions about how education ought to be done (perhaps not fully formed opinions yet, but opinions that are important enough to us that we don't want to leave them un-acted upon) that it seems easier to educate our children ourselves than to make a nuisance of ourselves by trying to find someone else willing to do it our way.
Why not, you might ask, become a teacher, if I'm so interested in education? Well, I'm interested in the intellect and the training of it, and I have a strong interest in education in that I feel that much of what I am is the result of my education, and I want to pass on and perhaps refine that gift to my own children. However, while I'm willing to go through all the grief one gets as a teacher with my own children, I must confess that I have no interest in doing so with other people's.
Education seems to me a very personal thing. It seems hard if not impossible to do it well with someone you don't know well. I feel that with my own children I'll at least stand a decent chance of getting to know them well enough to help them gain a good education. I don't feel I could say the same for someone else's offspring, much less forty of them at a time.
Plus I tend to have the patience of a Viking rather than a saint...