An article in Wired by Lawrence Lessig makes some interesting points about price discrimination by drug companies. He argues that there are rational reasons for charging more money in the US and other developed countries than in Africa.
The basic argument goes like this: we think it is bad to let people in Africa die because of drug prices, we have more money than people in Africa, therefore we should pay more for drugs and the drug companies should charge people in Africa just what it costs to make and ship the drugs to them.
The problems, as he points out, are practical, and political. The practical problem is grey markets--selling the cheaper drugs in markets they are not intended for. The political problem is that people are already upset that they can buy the same drugs in Canada for less money--imagine what it would be like if they could get them for pennies on the dollar in Africa.
In the end, I think that Lessig's ideas (although a bit communist-sounding--it does seem to qualify as delivering to each by need) make a certain amount of sense. The reality is that world-wide fixed pricing is never going to work because of economic factors (some developing countries will never be able to afford the high-tech drugs) and political ones (some countries fix profit percentages on drugs). However, the drug companies still need to make money (not just recover costs, because there's no benefit over doing nothing in that case) from new drugs in order to encourage new development.
What's the answer? I'm not sure, but we're definitely going to end up paying for it, either through taxes or through higher insurance premiums (and, if medicine is socialized, those two will be the same). In the end of the day, the United States can afford to pay to develop these drugs and is certain that they are necessary for a happy life.
Of course, another approach is to concentrate on treating some of these ailments with something other than drugs, such as exercise or diet, but that's much more difficult than taking a dozen cute little pills in the morning and having your insurance pay for it.