As Homeless Solution provider and Homeless Issues expert, I can share with you a concept that homeless is like a kid. When a person becomes homeless, their mental will degenerate, the longer it goes, the younger they becomes. So use that analog, it is very easy to tell is it a good idea to give kids (homeless) cash? For older kids, of course, yes to give them lunch money, but for smaller kids, may be better to give them lunch box.
Why list of sheltor or soup kitchens does not always work? Because there are "crime" and "safety" issues involved. You need to "eat and sleep" in the soup kitchen or sheltor to get your first hand experience, not as volunteer. That is to say, if you are cops, supervising jail, you feel jail is very safe, whereas, if you are criminals, got sent to jail, you know jail is not safe at all. You will get bitten up in jail by other criminals.
Also, there are "economic issues". In general, any goods and service has "access cost" and the "transaction cost". e.g. one my buy a gallon mill at cornor grossary at $5 rather than driving one hour to Costco in NJ to buy a gallon of $3. Why? The former access cost of a gallon milk is $5, where as "transaction cost" is almost zeor, just walk over. Whereas the latter one, the access cost of milk is $3, but the "transaction cost" may be much bigger, gas, time ...etc.
So, homeless panhandling at Wall St often find at the corner, a discount breakfast only $1.99 where as a free meal at Stanten Island soup kitchen may need to take ferry over and back, take a huge inconvenience.
The inventor of this "access cost" and "transaction cost" model is going to obtain Nobel Economy Prize someday, so you need to take in to account of "transaction cost" of accessing your soup kitchen and sheltor.
I also helped a homeless always wait out side Chinese buffet restaurant in Chinatown, and as soon as some throw out an unfinished lunch box into garbage can, he just picked it up and eat. In that case, both the access cost and transaction cost are zero.
So, if you prepare goodie bags to give to homeless on street, you save the "transaction cost" of the homeless to obtain the needed items. But, YOU, have to spend time and effort and the "transaction cost" to buy and prepare those items. If you have time and means to do this, it is great, otherwise, I just give homeless on street $20 bill and they will buy themselves.
If you oppose to provide cash assistance to homeless people, try to apply your reasons to President Bush to provide cash assitance to billions American during credit crunch period. e.g. if you argu that homeless will use the cash assistance to buy drug or alcohol, why not American families got that check from government will not use it to buy drug or alcohol? or even go vacation? So, why don't you care? still want to give each American family $300 per kid and $600 per adult?
So, the conclusion is very simple. Each and every one, homeless or not, knows where they will spend or save their cash assistance. In fact, I suggest President Bush also give $300 to each homeless kid and $600 to each homeless adult. Why give big amount of cash assistance to people working in Wall St making 6 digit, rather than people panhandling at wall st has no home to live?