The real reason behind things like this is the lack of Jesus Christ in the hearts of humanity.
But, the social reasons for these incidents are lack of good parenting/no monitoring of children and teens. Parents don’t care, why should their kids? When a child is not cared for emotionally from birth, you get a sociopath (someone with no empathy.) If you had no empathy or fear of authority (you weren’t raised to fear the most basic authority: your parents) what would stop you from going on a rampage at your school? Nothing.
I don’t believe violent TV, movies, or video games have anything to do with incidents like these, as I grew up with all three and am not a deranged slasher/shooter.
Some people are also predisposed to the above characteristics, but there is ALWAYS a catalyst.
Just my two cents from growing up in the Columbine generation! (I’ll be age 22 in May)