But I think we should try to always show trust in people who are vulnerable due to the situation that they are in, and by giving money instead of things we show that we trust that they will do what is best for them with the money. By giving things we signal that we know better than they do.
The main reason why people are homeless is after all that we built a society where we accept that people don't have a place to live. We prioritized other things, and left these people on the streets, sleeping in cars, etc.
There's different solutions to this problem, but I don't believe that we should accept in 2015 that people in the EU, the US, etc. do not have a home.