It's good for a small-screen touch GUI. It can get irritating on a screen big enough that you *could* have 2 apps tiled side by side, with a floating music player miniwindow in the corner, if only it would let you. Sure, there's a few apps that can make a floating window, but this is a tiny minority. Besides, even on a ~10" touchscreen the "floating windows over a desktop" design is irritating. The ability to tile normal apps that usually run fullscreen would be great.
Bluetooth keyboards? Yeah, they're nice, but quite often unless you're using an on-screen keyboard that explicitly supports them, the keyboard app pops up anyway. Or my favorite: SwiftKey, which recognizes that you're using an external keyboard and hides its on-screen one, but still autocorrects what you type based on how you type on a touchscreen. And then there's how long it took Android to make the ctrl key work like a normal modifier and not like sticky keys. Also, near complete lack of keyboard shortcuts. I shouldn't need to lift my hands from the keyboard and mess with the touchscreen to do simple things like save, undo, switch between two text entry apps, or even just send a chat message.
App switching gets irritating as well. I haven't tried it on a TouchWiz device, but the usual procedure is to long-press home until an app list comes up. This is slower and more tedious than tabbing through apps on a desktop OS. Then add in that apps get frozen when tabbed away from, and sometimes inexplicably quit altogether. Yes, this is ultimately the fault of the app developer, but it really shouldn't be necessary to write a daemon to make an app that can do stuff while you're not looking at it, or do your own state saving to make an app not reset to its main menu should the OS decide to page it out of memory. It seems even Google themselves can't get this stuff right: Gmail *always* quits and has to reload when I switch to another app, and whenever I open Play Store it seems like it's about 50/50 whether it's going to show me the last thing I looked at or the main menu.
Desktop OSes have done all this stuff seamlessly for a decades. On a PC, if I minimize something I can 100% trust that it is still there and doing anything I asked it to do, even if I can't see it. Android has repeatedly taught me to change this assumption.
As for "Android is Linux", yes it is, and I really appreciate that. But that still doesn't fix that its command line is crippled and horrible in comparison. It's like normal *nix command line, minus a handful of the more useful commands, and with others missing options or modified not to produce useful output. Among other things, I have seen an ifconfig that never prints anything, and an rm that complains about the file -rf not existing.