Bitcoins are absolutely terrible as a currency, however, as their value fluctuates wildly. This is by design, because the quantity of Bitcoins is independent of how they are used. If more people decide to hold onto Bitcoins instead of spend them, then their price will go up. As the price goes up, fewer people want to spend them and more want to hold onto them as stores of value.
As fewer people decide to hold onto Bitcoins, their price will go down. As the price goes down, more people will want to spend their Bitcoins and fewer will want to hold them as stores of value.
Thus, by design, Bitcoins are an extremely volatile currency. That makes them a horrible currency: what makes a currency good is that its value is predictable and understandable. It's a very good thing to be able to go to a grocery store and have a reasonably-good idea how much the food will cost. It's a very good thing to be able to take out a loan and be able to understand how much it's going to cost you to pay that loan back over a period of years. Bitcoin doesn't allow this: nobody knows how much the currency will be valued at a year or five years from now. Whatever its value, it will probably be very different from the present-day value.