It's a difficult problem. I used to be a member of an organization that went to a big city to try to help the homeless/addicted, and saw first hand that 95% of them don't want the kind of help that would improve their situation. They just want immediate things like socks/food/money. You could argue that poor decision making is what got them into their current situation, but what do you do? Force help upon them?