When Jobs was on stage and first introduced the iPhone, he stated that he would be happy if they captured 3% of the smartphone market (which itself at the time represented only 1% of the overall mobile phone market).
Apple took a big gamble to create a product that at the time, was mostly a niche product, I don't think anyone was expecting the iPhone to be the staggering sensation it became. Yet, Apple spent millions to develop the hardware and the operating system, both of which were, at the time, quite revolutionary.
Apple didn't capture a segment of an existing market, they *created* their own market -- people that had never bought a smartphone before were buying this thing.
Now let's contrast to MS; They launched the Zune, hoping to capture some segment of the market that would have otherwise have purchased an iPod. When it failed to do that after 2 years, they dumped the entire thing. They launched a smartphone geared towards teens and canceled it after a week, if I recall.
For MS, the product has to be a huge hit or it's a disaster, and there's no in-between for them. That's their failure, which is they are looking for the kind of success Apple had, or they kill the product before it can even get a foothold.
Contrast to Google, who suffered through years of crappy Android releases before the OS became a serious contender to the iPhone. Google (fortunately) stuck with it, but MS don't play that game. They want instant success or the product is dead.
What they could have done differently is had an overall vision to tie their products together. What if the Zune's OS became a launchpad to a phone OS, and they had used their existing PDA experience from Windows CE to make a really good product and stuck with it, even if sales were initially slow, but they kept improving it?
But either due to incompetence or interoffice politics, no microsoft product works with any other microsoft product, and they never seem to learn from their past products what works and what doesn't -- and that's why their stuff fails.