I would not confront any stranger whose behavior in a supermarket or any other kind of store appears inappropriate. You never know what sort of reaction you might receive from such a confrontation, and it could turn into a violent situation. Sadly, that is the reality that we all face these days, regardless of whether you live in an urban setting or a small town.
Even stopping a supermarket shoplifter with an offer to pay for their food might turn into a violent situation if the person confronted feels embarrassed, defensive, and cornered. On the other hand, I have bought sandwiches and water for homeless people I see sitting on the sidewalk with a sign asking for help, as that's a societal expectation that is not likely to result in a "fight or flight" kind of situation.
As I said, this is what society has come to these days. There are not just the poor but also a lot of mentally ill people who are not receiving the help they need because this nation doesn't appear to prioritize that sort of thing. I can't guess whether a person who shoplifts is doing so out of genuine need or for some other reason, regardless of how much I want to empathize with that person.
At the very least, I wouldn't be inclined to alert any authorities to a person taking food in a supermarket. I would only call for help if I see an act of violence being committed.