If I send you 2 Bitcoins expecting they will be $200 USD when they get to you, but when you transfer them back to USD, they are only worth $150 - then I still need to send you another $50 in bitcoins.
I can live with 10-20% volatility in currency a year, or even a month - but within a particular transaction? It makes the currency unusable.
One thing that no bitcoin user I've talked to who uses it as a currency mentions, is the nominal value. They would be quite happy (more happy) with a $1 USD BC that never, ever, changed its value.
>Is it because there are more speculators in the market than actual users?
It's because you can't _stop_ that from being true.
Bitcoins are a form of money. Money has no intrinsic value--it's what you can do with it that matters, right? _Real_ money has commodities exchanges to track staples of production.
But we treat it with intrinsic value and we can do interesting things with it when we do. It occupies this nebulous space between inherently valuable and worthless.
The part where it's almost valuable by itself is what leads to greed, which is what leads to speculators.
So: Bitcoin doesn't solve the __real problem of money__ (because... is there really a good solution?), it just tries to pretend that decentralized and electronic money is better.