Really, what makes it your responsibility to turn the guy in. Especially if it's some big comercialized place (e.g. mainstream supermarket, etc.) Either help him out or mind your own damn business. If he goes to jail, think that's gonna help him (or her)? They'll probably be just as in debt (or more) and not have any change of attitude at all. And if they had any kids/pets/other dependants, they'd be royally screwed over.
Personally if I saw this happening (like with a can of food or medicine or something) I'd offer to buy it and maybe some more. If he gave me one of those "I don't want your charity" things, I'd say whatever, and let him go. Either way he or his family needs it, if he wants to admit it or not.
Quite obviously if it's some punk kid stealin' something I'd casually point it out by saying "Excuse me, I think you might want to pay for that." ...In a loud booming voice, hehe.
Back to the poor guy, if he was trying to steal booze or something stupid I'd tell him that if he put it back I'd buy him some food. (maybe 10-15$ now, more if I actually had a job. I'm only 16 btw, no unemployment for me.)
Bottom line is you're not helping anything by turning him in and treating him to some food would make him feel better, if nothing else. If you're trusting enough (GFriday) take him home even! Mommy, he followed me home, can we keep him?