You're missing the cost-of-carry aspect:
The cost of carry or carrying charge is the cost of storing a physical commodity, such as grain or metals, over a period of time. The carrying charge includes insurance, storage and interest on the invested funds as well as other incidental costs. In interest rate futures markets, it refers to the differential between the yield on a cash instrument and the cost of the funds necessary to buy the instrument.
So in a nutshell, you'd have to store the gold (safely), invest your money now, i.e. you're missing out on interests the money could have earned until the futures delivery date. Well and on top of that you need to get the gold shipped to London or wherever the agreed delivery place is.
Edit:
Forgot to mention that of course there are arbitrageurs that make sure the futures and spot market prices don't diverge.
So the idea isn't that bad as I might have made it sound but being in the arbitrage business myself I should disclaim that profits are small and arbitraging is highly automated, so before you spot a $1 profit somewhere between any two contracts, you can be quite sure it's been taken by an arbitrageur already.