Also, Microsoft doesn't want to kill the desktop. Enterprise uses the desktop, so it's staying for the foreseeable future. Full stop.
I don't want to run Visual Studio on my phone. But if I get say a Surface Pro device, I'd like to not have to switch back and forth between two totally different worlds all the time, without giving up modern amenities like resolution independence, etc.
For example 'visual clues' in the Classic Windows have minimize and maximize buttons and the "X" button means close. These Modern GUI Windows, where are the 'visual clues'? It breaks the way Windows is supposed to work.
You have to drag the mouse to the bottom or top right side of the screen to access the 'Charms Bar' to do stuff in it, and Windows-C as a shortcut. I tried the touchscreen and it is a nightmare trying to make the correct type of swipe. Sometimes it does things you don't want it to do.
Plus a lot of desktop apps cannot be converted to Modern GUI mode because it lacks the gadgets the desktop has to make things easier to use. The Visual Studio IDE for example has so many tool icons and toolbars that not all of it will fit in a Modern GUI screen. It would need a major rewrite of the GUI, and force all developers to relearn all of their Visual Studio skills.
Remember when Office 2007 made that Ribbon bar? It was worse than Clippy the Office Assistant type of annoying.
Many compared Modern GUI to New Coke, the Classic Version was always better. If not for Desktop mode I could not use my Windows 8.1 Pro device.
So, you start a new thing and add continuously "new features" that are simple and elementary as hell. Years of safe development of elementary features that may simply be included in the first version of software - but they aren't. In Windows 8.1 you don't need to stick with static background colors. Wow, what an update and development achievement. Couldn't foresee that user would like that.
I think that Modern UI becomes more and more user-friendly but it takes time because you simply cannot make final product with first version because then the next versions wouldn't shine.
It works great. I don't use any Metro apps on my Surface Pro. Click, Double-Click, Drag, Drop, Right-Click - it all works very, very well.
Speaking personally, due to the massive size of modern screens, the only application I run full-screen any more is my video player. Metro is a non-starter for working with multiple overlapping windows.
I normally develop with at least 6 windows in frequent use - two browsers (one for doc / misc and one for app) and 4 terminals (two for simultaneous login to front and back nodes, one running the app along with mysql sessions, and one running emacs).
The idea of using a single full-screen dev environment, or perhaps with one other window docked to the side, seems ridiculously inefficient. I need to see those other windows. I'm frequently tailing logs, running tests in the background, provisioning VMs, all little things that need to be visible so I can see when something goes wrong and I need to take action.
--No offense meant by "toy"--
So aimed at non-programmers but with some modern stuff like the ability to talk to restful services.