1. I want to give my child the best possible education and I believe I can provide that.
2. My child has special needs.
3. We want to travel.
4. I want to teach my child my religion.
5. The public schools weren't working.
The answer to this question is usually deeply personal. One of my main reasons for homeschooling is actually very selfish. I homeschool my children because I love it. I love seeing them learn, I love going on field trips with them, and although there are others that I have no doubt could do a better job, I believe I can provide a very good education. Along with my major reasons to homeschool there are so many minor reasons I also value. We can travel when we like. We get to decide what to study. The kids have a very good sibling relationship. The kids have a lot of time to pursue their own interests. I don't have to help with homework assigned by others. They are less influenced by pop culture, yet they have several very good friends they have made through our homeschooling community. I get to spend the day with my children.
At a homeschool conference I recently attended, the guest speaker gave his reason for homeschooling. - "It's better for the child and I love that child". Although many counter-arguments could and have been made to his statement, I believe he really summed up the way most homeschoolers feel.