As someone who volunteered at a homeless shelter for 12 months, I will tell you I have lost every bit of sympathy I had for them. There are a very small percentage who are struggling youths with bad family life, or those who serious mental disabilities, but most of them are biggest drugged assholes I've ever experienced, and they brought it onto themselves.
The type of crap you see is ridiculous, they attack and rob other people sleeping in shelters, attack the staff, openly deal drugs inside the shelter, and you can't even kick them out into the -30 degree cold because it's "inhumane". I have only heard like a dozen people express any thanks to us, a lot of us go out of their way and sometimes buy stuff out of our own pockets to help them.
The people who are homeless due to circumstances really full advantage of all the opportunities the government offers, they bust their butt to get clean clothes, look for jobs in library computers and do practice interviews. They don't stay homeless for long either.
I still remember this one time, I tried to buy this homeless guy mcdonalds, and when I tried to order, he said he was vegan...