In some (but not all) circumstances, I've been told to "f!ck off" and "suck a c!ck" becaue they want money, presumably for drugs/alcohol/etc.
Again this is my experience. Your mileage may vary.
There's a homeless man in my neighborhood named Kevin that I chat with most mornings when I walk my dog. He goes to a methadone clinic to help treat his addiction. I usually see him when I'm walking towards the coffee shop, ask him for his coffee/breakfast order, and he hangs out with my dog while I go inside. Most days he's a nice, personable, friendly guy who tells me "dad jokes" and has a bag of dog treats for his neighborhood friends. Sober Kevin is appreciative and would never dream of asking me for a dime. Some days he's coming off a bender and looking for money to buy more drugs and is kind of a dick. A lot of the benders coincide with him being unable to get to the clinic for one reason or another.
Occasionally sober Kevin will apologize for the way he spoke to me when he was single mindedly focused on his next high. He once offered the analogy of when you really need to pee. The absolute only thing your brain is capable of focusing on is finding a bathroom. You're urgently trying to solve this one, desperate problem. You're walking around asking and asking where the bathroom is and people keep saying "I can't help you find the bathroom, but here's a vending machine."
It's by no means an excuse for someone to be rude to a stranger trying to help but it certainly helps me have a little bit more compassion for those dealing with addiction. I think it's frustrating for them, too.
With this context in mind, you can see how offering someone your half-eaten leftovers, or forcing them to go on some journey with you in exchange for a basic meal, is not only unhelpful--it's downright insulting.
If you don't feel comfortable giving them money, or engaging in an honest conversation, then just say sorry and walk away.
And if you feel like you want to help homeless people without giving them money, then give the money to an organization instead.
The bottom line: don't expect homeless people to be grateful to you, especially if what you're offering is next to nothing for them.
Once we stop judging addicts as being intrinsically bad people and see it as a mental health issue, we can solve a lot of this problem.
I suspect what mental health issues mean to most people is you now have a vaguely scientific explanation of why someone is intrinsically bad.
I know we don't like to imply that things about people's personality is "wrong", but if you're unable to be self-sufficient, I think addressing whatever is preventing that is reasonable.
From a moralistic viewpoint, these people are bad, and should not get help, since it is their own damn fault.
From a more conservative viewpoint comes the moral hazard argument: Some believe that if you help that person then they will never have to deal with their "bad" behavior. And it will encourage other people to engage in the same "bad" behavior so they can get whatever free goodies you are giving away.
People have all these different mental models of homelessness.
In terms of being mad about help given, the strongest example in my memory was a group that was offering free hygiene kits (this came to mind because of the article's comments on dental problems) at a soup kitchen. Some people were very offended at the idea and thought it was given in a judgmental way. I can see why they might think that, but... they need those items. So how do you avoid giving that impression? They ended up having a bin of items instead of handing them to everyone - it definitely didn't get received that much better.
If someone was really dedicated, then they would sit down with one or two people from the homeless community and ask them what they want and how they want to receive it.
Most of us aren't willing to do this, and that's fine. I think the problem is that we expect it to be easy to please a homeless person because they "have nothing." But in reality they are complex human beings like everyone else and they don't want to be treated as lesser.