I've bought food and even pumped gas into portable gas cans for people, refusing to give them any cash, only to see their story unravel when they realize they won't get money from me. The original story about needing gas to pick up their paycheck morphs into something else that requires money.
I had a man yell at me after I pumped gas for him because I didn't want to give him straight cash. And then seeing the same people whacked out on something or drinking beer a few days later trying to pitch you the same story.
The unfortunate thing is that those people do need help, usually mental health help but solving that problem will require more than people temporarily supporting their addiction.
I was approached by a guy at a festival who'd seen me taking "street photographs" with my SLR. He talked to me for a bit about photography and seemed more knowledgeable than average about the technical aspects.
After awhile we started talking about his personal circumstances-- being out of work, not having any cash, and finally pulling up his shirt and showing me a fresh-looking wound on his side and saying that he'd been attacked earlier in the day. I didn't end up giving him any money (I pretty much never carry cash), but if I'd had any I probably would have. Looking back, in light of your post, I wonder if there was a "help me I'm injured" grift that I just missed.
I guess he's doing the same gig just a bit more fortunate about his circumstances.
Talking later with a local from that town, it turns out dude has been running that line for years, and regularly re-breaks the finger to give it that little touch of verisimilitude.
As many people (even the Pope!) say, the best thing is still to give directly to homeless people but to never give more based on a story. The people with stories have a job, of sorts and I'll let them collect from their "employers". I just give a dollar here and there to those who ask.