My main problem with Win8 is it's just too much newness all at once.
Like for instance, Touch-orientated design is probably a good idea to get into the tablet arena. And a Windows store is a good idea. And re-designing the Win32 APIs is a good idea. And moving stuff to all be asyncronous is a good idea. And if we're honest, killing the start-menu was a good idea, and so is changing the system to be more integrated with online services such as mail.
But all at once basically means that developers who are used to the Win32 way are struggling to see why they would want to have to relearn everything (the APIs are different, the screen is different, the architecture might be different, the inputs are different, even the commercial backend is different).
Microsoft needs to be more clear on what is important and what isn't. Choose your battles, Microsoft. Otherwise people look at your products, see stuff that is entirely unfamiliar and go into defensive "I don't like it" mode. It happened with Vista, and it's happening again with 8.