It seems there are three competing themes in this thread.
1. Homeless people are scum. To hell with em.
2. I will always give money to someone desparate enough to ask. It's people who refuse to do this who are scum.
And then there is the sensible one....
3. Every homeless person is a different story. Maybe it was drugs. Maybe it was tragedy. Maybe it was just laziness. Regardless, if you give them money, they aren't going to spend it on anything good. Do you want that person to spiral further into hell with another bottle of booze, or do you want that person to stop conning people and figure out that there's more to life than the next bottle of booze?
Why is it "sensible" to assume that every single one of these people is an alcoholic and will never spend your charitable contribution on "anything good"? Why is that cynical viewpoint "sensible"? It's a huge, wide brush.
Do what you want, but I prefer to think that at least some people in desperate situations are doing whatever they can to survive, and they aren't worthless drunkards.