I've been both using and learning to develop with Windows 8. It's deeply flawed in ways that make doing the simplest thing annoying, and the Win8 vs classic Windows split causes constant confusion about settings and where you are. The "flat" Metro look is bizarre, especially since they introduced Aero at a time when few machines had the graphics horsepower to run it. Now that most machines can run Aero, suddenly they go back to Windows 1.0 with an EGA-style flat look and feel. The flat look makes it very difficult to tell what is what on the screen. Windows don't have borders, controls don't have borders. Often there is no feedback on what to click or where to click it.
I've only used an Intel-based PC, because I need to run Visual Studio. From a developer standpoint, WinRT isn't bad, because it uses the same XAML and UI designer that was already in VS2010, so you only have to incrementally learn the differences. They did, however, take standard C++ and change it with language extensions (a favorite thing for MS to do).
I can't figure out what Microsoft is trying to do with the Surface. For the price of a deluxe laptop with a 15.6" screen and i5 processor, you get a wimpy low-power machine with a 10" screen. Who their target customer is - I can't figure out.
Not having a start menu is annoying, because to start something you have to go back to the other WinRT desktop and hunt through the tiles to try to find it. You can pin things to the taskbar, but ... only if you can find them and run them, and then pin them. I had to drill and drill through the file system to find the control panel to pin it to the taskbar.