Snonasty makes an interesting comment about Communism.  If you look at the root of Communism, it is that everyone does there part, whatever it might be, and then everyone gets the same out of it.  Therefore, those in a position to do more, do more, and those who can only do less, do less, and everyone gets an equal portion.  Problem is that it is a great philosophy on paper, but because of peoples inherent greed (don't deny it, everyone one is greedy in some way) they expect more for doing more, therefore the basic principles of Communism are flawed.
As someone said above me in the thread, poverty often is based on a mindset and lack of ambition.  As a society, we would need to find a way to motivate people to do well.  Just look at the WelFare system in the US.  People don't get off of Welfare because they are handed more money than they would be able to make (basically Welfare pays better than McDonalds).  A lot of people want to get off of Welfare and Food Stamps and other Governmentally backed assistence, but they simply cannot afford to.  Until these major flaws in the system are resolved, there will be no end to poverty (and I am not talking about homelessness here either, that is entirely a different subject - most homeless people want to work and do better for themselves, but often do not have applicable training, or are not able to provide a steady residence, thus preventing them from getting a job and getting off of the streets).
Im done my rant, sorry it was so long.