Right now, there's two main things keeping the price fairly low:
a) $1.5 million in new coins being generated every day.
b) High merchant adoption, but none of the merchants hold bitcoin, and instantly transfer into fiat instead.
However, what's the newest service in the bitcoin industry that's starting to come out en-masse? That's right, payroll services! Even BitPay is getting in on the game, and so are companies in countries around the world. What we're now beginning to see if employees requesting their bosses to signup for these payroll services, so they can be paid in bitcoin instead of fiat. Assuming this gains decent adoption, that's a whole lot more BTC being bought every month, and the price should sky rocket.
$1.5 million is nothing when you consider the entire world is part of the crypto currency ecosystem.
I agree with your 2nd point. Merchants who do not hold their BTC will keep the exchange rate low. I believe that merchants are not going to take a gamble. They price their products at the current exchange rate. And as soon as they get paid, they are cashing out so they are still making the same amount of money as fiat. They make their profit from the products they sell, not from risky currency exchange investments.