At the moment, everything hinges on getting cheap surface-to-orbit technology. Once you get into orbit, it's cheap and easy to do anything else. The launch costs all the money. We need to develop some sort of cheap, easy and fast launching system that can get large amounts of material into orbit, then we can worry about the rest.
The shuttle program was great for what it was, unfortunately what it was was 60s technology, strapping a shuttle onto a bomb. Sometimes, the bomb goes off.