There are two big obstacles to widespread use:
1. Trust as it applies to online transactions.
2. Speed as it applies to small face-to-face retail transactions.
If there is ever enough financial incentive for a few large trusted online retailers like Amazon to accept Bitcoins the first obstacle could be overcome. Reloadable smart cards would encourage face-to-face retail transactions if they can be completed in much less than a minute. Of course people would have to understand: lose your card, lose your money; just like hard cash.
The big advantage is anonymity. GPS, cameras everywhere, credit card trails; Big Brother isn't coming, he is here. Of course most people don't care until they are the target and then it is too late.