Bitcoin will not be able replace fiat for now because of several factors. Among them are unstable bitcoin exchange rates and international laws protecting bitcoins dont' yet.
Because units are very small in bitcoin, ie satoshi. Too much trouble if you have to shop in a store with a lot of decimal.