Microsoft seems to have no patience anymore. Normally I would agree with you -- and honestly the slow and steady approach is the only way they'd ever make an impact -- but Microsoft just keeps resetting this platform over and over.
Developers want stability. They had a good thing going with .NET which they could have simply used as the platform for making Windows Mobile apps as soon as the iPhone took off.
Instead they chose to introduce a whole new platform (Windows Phone 7), then kill it off to make way for Windows RT (Windows Phone 8), then kill it off for Universal Apps (Windows 10 Mobile). You can't expect to build a good ecosystem when you establish a pattern like that.