For example, food stamps may go to a family, where they are dealt with responsibly, in a way that money, which is very easy to grab and walk out to buy cigarettes with when things go badly, is not.
Obviously, it's not a full solution, and a cynical recipient could sell them, true... but we're not talking about individuals acting in isolation for purely selfish reasons; that's a contrived subset of the problem.
What's the alternative you're proposing?
Just hand out cash?
The research shows that people suffer severe difficulty in managing fiscal matters when under financial stress. It's the old 'why do people who are poor buy so many lottery tickets?'?
Money isn't the correct solution; and maybe food stamps aren't either... but they're a better solution, and don't think that's even in doubt.
...but if you have a different one, I'm happy to hear it.