There are still many parts of the world, including stores, taxis, but also people with smartphones, that do not have Internet. It is doubtful that even in the long-term future everyone is going to have internet on their smartphone. So how is bitcoin going to work for retail transactions? Imagine a store without public wifi. Can transactions be processed if only the vendor has Wifi?
Credit cards can work on either a phone line or internet, so it would be ubiquitous as opposed to bitcoin which cannot work on a phone line?