Having traveled the world extensively, I have strong views on this.
IMO, the biggest issue is that we, as individuals, don't really care. If we did, we'd each donate an amount each month and spend our time doing something practical to help. If everyone in the country donated GBP100, for example, we could solve a lot of problems. Instead, we assume that government will do something, but they mostly waste money. To appreciate the power of individual giving, see what Bill Gates has achieved across Africa. Also, a majority of giving in relief of the tsunami in Indonesia was from private individuals each donating about GBP30.
What is the major problem? It depends on the region. For some, it's undue dependence on annual rains. For others, it's disease (the big three are AIDS, malaria, and TB). A common problem is a lack of education, especially among girls. In other cases, it's civil war.
The most effective form of foreign aid is outsourcing work to developing countries. It's transformed India and China, and it's lifting countries such as Bangladesh and Indonesia from deep poverty levels. The problem is that the population here at home tends to see only jobs lost and would prefer to put on the brakes.
Which gets us back to the original point: Underneath it all, we're not prepared to sacrifice our own comfort to help those in desperate need. Instead of saying that "someone should do something", we could cut back on our own discretionary spending and actually do something.