I'm not sure I would use compiz as a shining example of something that makes a desktop more functional.
Regarding the differences between Gnome 3 and KDE 4: I haven't tried Gnome 3, but from I've read (including TFA), they go out of their way to make the desktop not configurable. Before switching to awesome and then Xmonad, I was a heavy user of KDE 4, and it is extremely customizable. It also had some novel ideas about grouping widgets/applications depending on the current activity of the user, which is probably implemented by now, and which I don't think is present in GNOME 3.
Regarding the differences between Gnome 3 and KDE 4: I haven't tried Gnome 3, but from I've read (including TFA), they go out of their way to make the desktop not configurable. Before switching to awesome and then Xmonad, I was a heavy user of KDE 4, and it is extremely customizable. It also had some novel ideas about grouping widgets/applications depending on the current activity of the user, which is probably implemented by now, and which I don't think is present in GNOME 3.