Strength in brand. Most common-folk users have no idea what voip is. You can't compete with Skype by just doing a voip client - if that were true then you would see Google Talk, Facetime etc. eating into Skype market share, and not Skype growing 30% per quarter.
For many people, Skype is online communication and messaging. It has become a verb and one of the most recognizable online brands alongside Google, Facebook etc.
My understanding is that their competitors don't (can't?) do this. For example, SIP runs through a central server (e.g., Google's). This allows Skype to run their service more cheaply, and its cheaper to provide service for each marginal user. Its a pretty strong network effect.
So, in addition to their brand and userbase, they do have some tech MS might want and can't get elsewhere.
SIP is a lot like SMTP. When you make a SIP call, you talk to your local SIP server, which talks to N intermediaries (usually 0) before going out to the public internet. After passing off to the destination server, the connection can go through N intermediaries on the remote side before being delivered to a final user agent. This connection isn't for delivering audio and video, though, it's for coordinating a direct RTP connection to use for audio and video. Once the two endpoints are communicating, they send information about their real network location, work out details about NAT, and set up a direct RTP connection, possibly using STUN to deal with NAT issues. In a normal SIP environment, neither party's SIP server ever sees any of the actual media.
This is all fairly similar to what skype does, except skype has additional infrastructure for routing media through other clients, in cases where two endpoints can't find a way to communicate directly, as I understand it. I'm not actually authoritatively-informed about skype, though, so don't rely on this last bit.
This maybe the case for those small VoIP startups, but for big Internet Co. such as Google, Microsoft and other portals who already have big datacenters, this should not be an issue.