Right now the smart money is on IBM.
IBM is up nearly 50% in value over the last year, while Microsoft (MSFT) remains static. After briefly passing Microsoft n total valuation recently, IBM is now just $2 billion behind its long-time rival.
But there are reasons to believe Microsoft can pull a surprise:
Microsoft currently sports a PE multiple of under 11, against more than 15 for Big Blue. It has room to gain.
Microsoft is investing heavily in its Azure cloud, and that should pay off as more companies move toward the technology. IBM's strategy, meanwhile, is based on building custom clouds for customers, not serving them from its own cloud.
Microsoft has plays in gaming that IBM does not have. Microsoft is rolling out new games for Christmas running its Kinect system and speculation is growing about a new version of the console, the 720.
Microsoft has succeeded in exacting its “tax” on most of the Android space, positioning its Windows Mobile as the only OS that can stand up to Apple in court.
It's possible the company's Windows 8 software will drop this year, providing a big earnings boost. Even if it doesn't ship until next year, you can expect speculation on the size of that boost this year.
Personally I hold IBM, not Microsoft, in my retirement account, and it has proven a solid long-term holding. IBM is a trusted business partner for the “Fortunate 500,” as well as governments and other institutions worldwide, while Microsoft is seen mainly as a software supplier.
Microsoft's failure to launch in the last few years is due to Apple (AAPL), whose iProducts have made Microsoft's line a collection of also-rans. I don't see that changing right away. But I do think Microsoft can do better. And even slightly better will mean real momentum in earnings, perhaps even more than what IBM is showing right now.