Bitcoin is not developed enough to be a real currency. As others have stated, it is more of a commodity.
Because of it's volatile nature, it is very very risky to use to as a major currency because something that costs $5 today might cost like $10, $20 even tomorrow.
On top of that, the general public who have no technical knowledge wont be able to use bitcoin unless more people get into development and more elegant and user friendly solutions are developed.