Having been stuck with a Lumia 521 for the past 4 days, I see exactly why Microsoft can't: It's just a watered down, crappy OS.
Its only positive side is that it runs fluid on older hardware, but other than that it just can't pull off shit. In the cases where the app you need is available for WP, the API features needed to support all of the same features it has on Android just don't exist. So nice apps I use like Endomondo are missing a shitload of features, and no amount of work on the part of the developer can change that. (A huge thing that is missing: Inter-app communication.)
Not only that, but the base OS itself is rather light on features. Little things, like for example you can't set custom tones for texts, emails, calendar events, etc.
Also the whole "live tile" system sucks ass. Live tiles aren't actually live (more like 15 minutes behind, where Android widgets ARE live) and for most apps, there's no point in the larger size, and apps that are best for lists (like a calendar agenda) work like shit compared to their Android variant because tiles can't display vertically like Android widgets can, so like the calendar tile only shows one event at a time. And then tiles that preview things (like email) flip through objects so unless you happen to look directly at it, you might not be seeing your newest email. Fortunately they (kind of) copied Android's notification system to address these shortcomings, but theirs is shitty in comparison (for example, no object grouping.)
Another thing is that the OS can't multitask for shit. If you download a file that is going to take a while, you can't do ANYTHING else, you just have to sit there and watch the progress bar. If you try to do anything else, it'll just stop the download.
It really is a lame OS. There really is no reason to use it as your daily driver unless you're just a big fan of Microsoft and/or you really hate all things Google.