The answer is simple. It's because the United States don't want the other countries to give themselves to them.

These things are usually complicated, with no easy answers to the problems. For instance, You can look at your immediate neighbours, say Mexico. Everyone knows that mexicans are and have been invading the US for quite some time, risking their lives crossing the Rio Grande in search of a better way. It is clear that the US is not happy with the idea of masses of illiterate, unqualified people crossing over the border and driving down the quality of life inside the US.

In my opinion, the US should strive to make Mexico richer and to improve the quality of life of their citizens, that way they will have less of a reason to cross the border. However the idea of handing out money to a neighbouring country doesn't get you many votes.