Why prices on different Bitcoin exchanges are not the same?
There is a big difference because arbitrage between exchanges is slow and dangerous due to the legacy financial system's defects.
It's a high risk of regulatory problems because banks see this as money laundering. They are obligated by law to play the security theater and will cause problems to arbitrage traders moving fiat funds between exchanges.
If you know how to move funds between exchanges fast and with less fees – there is a profitable (but risky) business opportunity.
If our current financial system allowed for immediate transfers between participants, arbitrage would eliminate these price spreads on different exchanges.
Also, there is a big difference between the futures contracts and the real Bitcoin prices. This is because there is a risk something will go wrong with the exchanges (they may not work when the futures contract expires or there will be too much volatility and low liquidity).