Well, why is Bush a two term president? Same reason.
Homeschooling has gained popularity because the public school system no longer teaches the same values that many parents grew up with and desire for their own children. Many parents today feel helpless when it comes to raising their kids in the same ways that they were brought up, so they take the only action they can: they homeschool.
The homeschooling movement grows in direct proportion to the rise of Evangelical Christianity in this country. There is no question that Evangelicals are a significant political and social force in the United States today. But the one place where they cannot exercise the same degree of influence is within the public school system.
As a result of this perceived lack of parental control in public schools, Christians and other conservatives may choose to instill in their children a classical Christian worldview by way of homeschooling. The perceived influence of the secular progressive movement on their children's upbringing is thereby lessened to a significant extent.
In my opinion, the rise of homeschooling is due to a rejection by conservatives of the values taught in modern public schools; the increase in the level of violence in schools is an added incentive, but serves more to solidify the base of the homeschooling movement than to win new followers.
So there you have it. The only mystery now is, why are homeschooling kids always so damn awkward.