1) The way our prison system works. It makes people worse. It makes them better criminals. It removes much of their opportunity to get better (try getting a decent job as a felon). It creates desperation. 2) the way we treat mental illness. By that I mean it is demonized and ignored. Does health insurance even cover mental health exams or treatments? Probably not basic coverage 3) Disparity of wealth. In the town I live in there are people living in absolute poverty and people driving around in lamborghinis and million dollar churches. The cost of that car could feed 50 people for a year.
In thiscase there is no telling what the root cause was yet. I suspect a case of someone just losing it.
http://www.murderuk.com/mass_murderers.html
Other attacks have occurred at schools without guns including this one with a machete that resulted in injuries but no deaths: http://news.bbc.co.uk/onthisday/hi/dates/stories/july/8/news....
I would suggest that perhaps there is also a societal issue in the US compared to Britain causing these things (in addition to the affect of the larger population) but the most important aspect may be the greater availability of firearms that gives opportunity to people that may not carry out the act if they need time and preparation AND it greatly increases the lethality of attacks that do take place.
Note this excludes terrorism where numerous incidents have had a bigger death toll but those planned coordinated attacks and I think a different category from the sort of incident today.