Never, never, NEVER give cash to "homeless," "needy," or any other street people (remember when we used to call them bums?). I've heard all the stories, so many times I can recite them all. I've had the same person ask me half-a-dozen times in the span of a month for "a couple of bucks, as I ran out of gas just down the street and I need to get my kids home." And women are just as bad, and KNOW how to PLAY you.
Understand that the money you give them will NOT go towards a meal, transportation, or getting them a job. It will go directly to supporting whatever bad habit(s) they have, be it cigarettes, booze, drugs, gambling, etc.
If you insist on helping someone, offer to buy them food, or help them get to a shelter. Of course, most of them will refuse, as they aren't really looking for a meal or a roof over their head. But, maybe you'll get lucky and find someone who is. You can also give them business cards from the local shelter/Red Cross/etc.
Keep in mind that the average pan-handler in San Francisco "earns" (meaning: scams from well-intentioned people) $45,000-$60,000 tax-free dollars per year. How much money do YOU make after taxes?
-Troy