People who work or volunteer for homeless charities are not " ignoring the immediate problem" . They are out there on the streets right now and will be tonight when you are tucked up in your nice warm bed.
So get off you high horse accusing them of ignoring the problems and having a lack of human feelings. Giving a tenner , a fag or a hand hold might make you feel better. But that's about YOU, it's not about the person you think you are " helping " .
The sandwich may well get thrown in the bin, there are places in most big cities where homeless people can get food for free. When we see them at 9pm they are not hungry as they've had sandwiches all day.
The fag will be appreciated but tobacco and papers would be better if thats what you want to do.
But giving money is not good. It will nearly always be spent on alcohol or drugs.
It could push them over the edge into overdose or fuel their next fight with a support worker that gets them banned from their temporary accommodation or thrown out of their family members house. Or perhaps the next fight with their partner that puts her in hospital and them in jail.
There are more fatal overdoses at Christmas / new year and one cause is the number of people who give money to beggars to make themselves feel better about their own seasonal excesses. People have been in prison or hospital where their tolerance drops, they are let out, people give them money and they treat themselves . Into OD.
Oh and some beggars are not seeking accommodation at all - they are professional beggars being exploited by the men who handle them. So you are contributing to their abuse.
So go ahead and give money and pat yourself on the back. But don't kid yourself what you are doing is helping anyone except yourself.
If you want to ACTUALLY help, give up some of your time and volunteer with an organisation. Inform yourself. Campaign for justice. Use your vote wisely .