How can bitcoin be used for all transactions, even with only one confirmation? If bitcoin is ever going to be mainstream, how can we get around the problem of confirmation time? I don't think I like the idea of having to wait an hour for my transaction to be confirmed so I can leave the gas station after filling up. Even with the usual recommendation of waiting for only one confirmation, that's still 10 minutes. Anything over 10 or 20 seconds becomes a problem if all customers are using bitcoin, because it delays every transaction that long.
When you pay with bitcoin using a service that uses Coinbase as a payment processor (such as Humble Bundle), it usually accepts in a short amount of time. The reason they can do this is because they check that your transaction has propagated through the whole network and that there are no competing (double spend) transactions.

Once that has happened, the only way to do a double spend is to mine your own block (because everyone else has accepted your first transaction). Mining a block is very expensive so there is very low risk. Certainly less than the risk of credit card chargebacks. 

Now if you are selling something very expensive, then waiting for some confirmations would be good. Also in this case the buyer would likely be in less of a hurry.