8 -> 8.1 was also a similar transition.

There was a period where targeting the 8.0 APIs meant you had access to one set of features and targeting the 8.1 set of APIs meant you were missing certain features but gaining others. The constant rewrites was a nightmare from the developer perspective and prevented any traction being gained.

The story of Windows Phone is full of similar bone-headed decisions in which Microsoft continuously pisses off people trying to love it.

It's been a while but here are a few things that stand out to me as being particurarly bad:

Many Windows Phone users came from Zune, so they were super into music. The Windows Phone 7 -> 8 transition made the music app into a horrifically bad experience missing so many features it was laughably bad compared to other platforms.

The flagship for a period of time was the Lumia 1020. Nokia wrote all sorts of interesting applications for it that were later unsupported or removed when Microsoft acquired Nokia.

Microsoft shipped no flagship for a really long period of time (other than the flop of the Lumia Icon available only on Verizon) and so the "super fans" had the choice of sticking with their Lumia 1020 or 'upgrading' to a cheaper build quality and worse camera Windows Phone that had better specs. Eventually when Windows 10 for phone rolled around they promised 1020 users that Windows 10 would support their phones, but eventually they gave in and announced they couldn't make it work. At that point there wasn't a fantastic successor to the 1020 from the camera perspective, so many users just left.

For a period of time the Lumia 520 was the best low cost ($50 - $100!) smartphone on the market. People actually really liked it, but once again it was unsupported when it came time to upgrade to Windows 10. This meant that a large portion of the Windows Phone install base was fragmented. Microsoft decided they didn't want to win the low-end, they wanted to win the high end (high m argin!) so they stopped making cheap phones like the 520.

I think Microsoft's problem is they continuously changed strategies all the time when they weren't seeing returns. They wanted Windows Phone to be "Microsoft scale" instantly. It seems they felt that as one of the world's largest software companies they should be instantly successful and if they were not then it was better to refocus their efforts elsewhere they could make more money. When they didn't see instant sucesss with Windows Phone there would be a leadership and strategy change resulting in whip-lash for users and developers.

I really think they had to take the under dog approach and make a few users love them, then a few more, then a few more. At the time there would have been a class of users for whom the benefits of the platform would outweigh getting the trendiest apps. Microsoft had enormous opportunity: Android phones were unusably poor on low end phones, iPhones were really expensive and more restrictive. The "app gap" to me really seemed like putting the cart before the horse. Even a company as large as Microsoft can't brute force a grass roots sort of thing like an app development community. The "app gap" is used by many to excuse Microsoft's failure to not develop a competitive platform. From my perspective Microsoft's desire to have instant success, to make a device for everyone, meant they made a platform that ultimately failed.

The crazy thing is they still haven't pronounced it dead yet. Perhaps they have a final hail mary device they're going to try, or perhaps some lingering arrogance means Microsoft would rather leave Windows Phone on life support then declare it dead.