Personally, I currently use iOS after switching from Windows 10 Mobile a few months ago, and I have to say that the two reasons why I switched have been fixed. The first was the app gap, which I didn't mind that much since I could just use the web client for most apps anyway (the exception, of course, was Snapchat, which as my friends use it often, I was sorely missing). When I was using Windows 10 Mobile, if I saw anyone talking about an app, I would usually just ignore it, since the chances of it being available on my phone were very slim. On iOS, I might give an app a download, toy around with it for a while, and then either uninstall or keep using it frequently. it really does make a large difference.
The other reason I left Windows 10 Mobile was the performance, which again, isn't a big issue on iOS. I've lived with Windows Phones for a while, but the fact is that Windows 10 Mobile is not very polished. Apps crash frequently, response times are slow, and there don't seem to be many fixes coming. While there are bugs on iOS, they aren't as widespread and don't affect me as frequently.
That's not to say that I don't like Windows 10 Mobile - I do. The universal apps, the UI... the concept is certainly good, and has always been. But I don't suspect I'll ever come back to Windows 10 Mobile; instead, I'll be using a mobile PC running full Windows 10 on ARM, where I'll have better performance and more apps to choose from (since PCs running of ARM will be able to download all of the many, many, Win32 apps available. But for now, I'm on iOS, and it's partially because of the app gap.