Official charities often end up saving their money for other things, which ends up not helping people in need at all. I avoid trusting them; why not contribute directly?
My family works directly in supporting a little group of people whom we know and befriended years ago; every sunday, tuesday and thursday, they save their whole night to go into the capital and feed the poor, clothe them, and give the children toys. I have contributed with my early teenage clothes (which could have gone to waste if I had thrown them to the garbage) or clothes I rarely use; some toys from my childhood (my little sister has plenty already). Every thursday they make kilos of 'feijoada' in a huge pan (it contains beans, lettuce, meat...) and sacrifice their own night. I think this is a really admirable thing to do. Also, on Christmas day, they do the very same - spend time with the homeless, bring them food for the week ahead, with cookies and other things for them to enjoy the christmas spirit. The homeless now see them as their guardian angels, and have gained a deep respect for them.
I still have to volunteer myself to go and help them, but I still didn't get round to going due to lack of time.
I don't know about the situation of poor people on other's countries. I reckon it is similar. But in Portugal, where young students can't even get jobs, people who end up without a house to live under are pretty much doomed to staying that way. I know there are unofficial organizations that provide them free showers and decent clothes for them to go out and actually look for jobs, but very little succeed. Not all homeless people have the will of wanting to change their situation, but even those who want it not always find a job. Our country's situation is very critical at the moment, where even my own family (which was, years ago, pretty well financially) has difficulty about feeding itself... :/