There are some limitation which stop bitcoins from being used as a currency. For instance, the transactions are not instant and it is a big limitation in my opinion.
I don't deny that there are some limitations that bitcoin is facing at the moment but from my point of view, I don't suppose that transactions speed is one of them. Maybe it's not that immediate but it's still faster and easier to make transaction with bitcoin than the traditional ways. I think that what prevents bitcoin from being entirely a currency is that many countries are still having misleading thoughts about bitcoin and some even ban it. I hope that one day the governments would change their minds and bitcoin would eventually become an international currency.
The main thing preventing Bitcoin from being a currency is that nobody wants it to be a currency. All the people buying it are doing so in hopes of it making them rich, not maintaining a stable value which is the most important element a currency needs to possess to have any utility at all. People can't transact in Bitcoin easily without taking on a lot of risk of the value of the instrument rapidly depreciating. If you're a business, your profit margin can be entirely eaten away by the wild price swings, which would make it impossible to continue operating your business. Bitcoin is a very poor option as far as currencies go for this reason.