The list of reasons is long, and we can choose to punish the entire group because of the laziness of some. Or we can recognize that a society as rich and abundant as ours doesn't have to let people fall through the cracks and suffer, that we're simply better than that.
Actually there is a third option, and that is give help to people who truly need it--not because it's a better option than working or taking responsibility for yourself.
You're not going to find many Americans left or right that don't want to see the needy helped. Our problem is that our government has such weak standard of who gets help that it outrages many of us who are paying that bill.
A personal example: I have a HUD house next door to me. I get up every morning and go to work so I can live in the suburbs. Why is it I'm supporting people that don't work to live right next door to me? I see them out there; the four kids, the three mini-vans........ Do you know what I drive? I drive a 2009 Toyota Camry with 90,000 miles on it. I get 30 MPG on average. I would love to have a mini-van or a 4 wheel drive pickup truck, but I can only afford one vehicle. How is it the lowlifes next door have three gas guzzling vehicles that I'm supporting?
This is not an isolated incident. In fact, it's pretty common. If not HUD people next door, it's the food stamp people at the grocery store. If not the food stamp people at the grocery store, it's talking to people at work who use temp services and can't get them to work overtime because it will interfere with their SNAP's allowance from the government.