1. Price discrimination based on market segmentation. As others have described, the consumer behavior of an international traveler is that they are willing to pay more, so why not charge them?
2. Badly set foreign exchange rates. Companies that sell internationally will use an exchange rate internally when setting prices in a foreign currency that are typically very beneficial to themselves. Sometimes this represents the inherent risk in doing business in a foreign currency. Other times, it is used as a dumping tactic so they can claim they set their prices by simple conversion (Strauss Israel, for example, uses an internal rate of 4.8, which the shekel has never reached in all of history).
The former is the reason why flights in Brazil, Thailand are expensive when purchasing abroad. The latter is the reason why Malaysian or Colombian flights are expensive. Better advice is to simply know that most credit cards (both US and european) automatically convert charges, and you'll get a much better rate (typically 1-2% commission on the forex rate of the bill date) by finding a way to make the purchase in the foreign currency, rather than USD or EUR.
EDIT: because I can't spell properly.