Money is just a theoretical construct to facilitate trade, nothing more nothing less. It isn't anything real, even if the tokens used to represent it are real items. It is a theoretical store of value, something that everyone agrees to use. This leads to a couple properties of money:
1) Money is only useful, and thus only really money, if you can spend it. I can call whatever I want "money" I can even "back" it with whatever else I want. Doesn't matter, if it isn't something others will accept, it isn't money, it doesn't function as a currency. It has to be something you can spend, otherwise it doesn't make trade happen and thus isn't useful.
2) Money also is only useful if people DO spend it. Like I said, it is something to facilitate trade. So even if you have something that every person in the world agrees is valuable and they'd take as payment, say the Hope Diamond, if people don't actually spend it, use it to get something, then it isn't money. It only functions as money when people spend it to have others give them goods and services. If everyone just keeps it in a box and nobody spends it, then it isn't money.
So ya, if you can't spend Bitcoins on anything but illegal drugs from one site and maybe a couple online games that almost nobody plays it really isn't money. What's more, even with vendors like that you can tell it isn't money, just a payment system. People buy the bitcoins with actual money, pay, and the people they paid convert it back to USD or other currency. It is just a money laundering system, it isn't being used as currency and spent and respent, held and moved around.
Until it is something that people can use in a lot of places, until it is something that people will accept in many places it isn't a real currency.
Also this is why government currencies are so useful, is because they have a big amount of automatic acceptance. The government will accept them as payment for taxes, so right there is a big use for it. If I want to pay my takes, the US government wants US dollars for them. If you live in any developed nation, and most developing ones, paying your taxes is something you'll be doing. Also the government requires that they are accepted to settle any debts.
So if I owe someone for something in the US, they have to accept US dollars to settle it. They could agree on another kind of settlement, but accepting the government's currency is mandatory. My power company can't say "You used X amount of electricity last month so we want a goat from you to settle the debt, we'll take nothing else." They could offer to take a goat, instead of US dollars, if they wanted but they HAVE to take US dollars to settle the debt.
That, combined with the credibility of a currency backed by the government of the place where you live, makes it something people are quite interested in using. It makes it something they'll spend, and agree to receive, which makes it money.
Right now, bitcoins don't function as money hardly at all. People speculate on them, and some places use them to launder money (Silk Road doesn't hold on to bitcoins, they convert them back to currency immediately, they just use it to mask transactions). That isn't money, isn't a currency, in any real way. You get Amazon and Walmart to start taking them, you get them traded on the Forex market, you get it to where people will agree to be paid in bitcoins and not immediately convert them to something else, then you've got a currency.