Because they are sold in different markets. Its just like a fish or vegetable market, supply and demand at the market will set the price. The difference with traditional currency markets is those markets are very deep and competitive so the slightest discrepancy in price between markets is an arbitrage opportunity for someone which then pushes the price in line with other markets.
The more liquidity there is on the BitCoin markets, the less the price will differ. BitCoin just doesn't have that sort of liquidity or market depth yet.