Who are you to decide what they're allowed to buy? You'd rather have someone go hungry on the off chance they might buy something you don't agree with?
It's ultimately an assessment done in a case by case basis. Another example: will you give money to a relative who will use it for gambling? Helping someone turn around their life and enabling their habits are different things.
That's the point of the original comment and you are bullshitting "how dare you decide what they buy!". They own the money and they decide that they won't spend money to improve a homeless person life if it won't improve it.
The point is to help this person temporarily alleviate a problem they have, whatever that problem may be. If you don't want to do this, fine, but if you're only willing to give money if they use that money in ways that you deem wholesome, that's patronising.