We talked about this kind of thing in my ethics class last term.
It basically boils down to this:
If you can do something for someone else that will benefit them, at low cost to yourself, then you should do it. If the cost is too high for yourself or it is not realistic for you to help them, then you should not do it.
The example that my prof used, was a child is drowning in a pool of water, and you walk by.
You can walk into the pool, save the child's life, and the only cost to yourself, is your shoes get wet, and your pants get a little wet.
In this example, you should save this child's life, because the cost to yourself is very small compared to your shoes and pants getting a little wet.
So, if I could guarantee my would benefit a child in Africa, then I would be happy to give that kid my , because it is not a big deal.
But I can't guarantee that it will.
The money can go to the aid organization, a militant group in the area, the government, etc.
So, we are all morally responsible for the starving kids in Africa, but I don't exactly have that much money to begin with.
Ethics aside, it usually comes down to "Do I want to take the time and effort to send money to a kid in Africa, or buy some cookies? Mmmmm... cookies"