It's interesting you should say that because I saw an article the other day on Yahoo! Finance titled "How to know whether you're investing or gambling".
With the stock market nowadays I would call it more of a gamble.
More direct to your concern, though, contracts for difference DO allow delivery of the underlying assets because you are paid the amount required to purchase them. That's the point.
Take ounces of gold for example. Say you have none and want to purchase 5 ounces. But you're about to go on vacation and that will tie up your money. You think to yourself that's too bad because gold prices are about to rise for sure! Say you are in Susan's position in the example above. You would certainly take Bob's offer to BUY the 5 ounces of the contract. This way if gold prices rise as you think they will you will be paid enough to actually buy the 5 ounces as if the price had not moved when you return from vacation.
This works with any underlying asset, whether bitcoins, stocks, or oil. And it's no different than buying or selling stocks or whatever directly timed for when you think the price will rise or fall.
There is no reason for us to buy a warehouse attempting to try to store and deliver the underlying assets which traders might trade.