About two years ago I compared all of the popular window managers with one another. Now that I have much more experience with the different desktop environments, I am going to give the COMPLETE rundown of all of the popular graphical environments. Let's start with my personal favorite, awesome Window Manager.
Awesome Window Manager
If KDE is a sword then Awesome Window Manager is a rock. It is a blunt environment that requires a knowledge of Lua to configure it. Windows tile and using the keyboard is pretty much necessary. This would be a very unfamiliar environment for someone coming from a floating Window Manager. However, the stock keyboard combinations and the efficiency of tiling combined with the number of tags by default make it a powerful tool in the hands of an advanced user. Awesome can be customized to do anything the user wants, and if that is an appealing trait and you have the time to configure it to no end then use awesome Window Manager.
K desktop environment and Kwin
KDE is an impressive desktop environment to say the least. It has received flack online for its bloat, and that is a true problem. Services and superfluous programs clog the environment and bog it down, consuming RAM in the process. The desktop effects will require a graphics card and can slow any other task requiring one down, requiring them to be shut off. The true power of KDE comes from the very trait that gives it a bad reputation: the bloat. If there is something you want your window manager to do, KDE has a tool to do it.
With different activities you can transform your desktop into an Androidd-esque launcher, or set the wallpaper to monitor the local weather or simulate a virus. Tiling Windows, completely customizable keyboard shortcuts delimited by category, and the suite of applications that come as a part of KDE are just some of the great things that KDE has to offer.
Unity is Canonical's modern user interface for their Ubuntu operating system. Unity was created after a fight with the Gnome 3 developers, and it prompted Gnome to create their own operating system to compete with Ubuntu. [opinion]Unity blows Gnome out of the water.[/opinion] In Ubuntu 11.04 Unity was a mess, but ever since 12.04 and Unity 5 it is a usable interface. It runs GTK, so Gnome programs don't pull a mess of dependencies. It also comes in 2d in the event of a weak graphics card, so Unity will run faster.
Unity is the least customizable of the bunch. There is a launcher on the left side of your screen. There are no options regarding this. The extent of theming that can be done ends with GTK and Icon themes and setting the Opacity of the integrated File menu.
Unity offers a unique feature called the HUD that can search through their integrated file menu (GTK and Qt applications move their options bar to the top of the desktop. This can be disabled.) The HUD is a tool of great productivity, and it learns like Gnome do does. The alt key brings it up and within a few keystrokes you can find an item from the context menu that would have taken a whole minute to navigate to by mouse.
It only makes sense to write about Gnome after the entry about Unity. Gnome is, as Linus Torvalds himself described it: "A train-wreck". A few of the sparse good things to say about gnome are that it is themable and it can be extended with addons or with alterations to the internal settings. Gnome 3 comes with insane defaults (like only having the close button on the control bar and the notifications popping up from the bottom and waiting to be dismissed). If Gnome 3 were lightweight and ran a bit faster it would be a viable candidate. It doesn't, though. It consumes more memory than the plasma-desktop from KDE and does not have an option to lessen the effects like other Desktop Environments.
Aesthetics: 8 (the one good thing to say)
Xfce is most well-known for being a lightweight, low-impact desktop environment. Xfce lives up to that reputation, having a RAM consumption only above that of LXDE and Awesome. In addition to being light it is still aesthetically pleasing and has enough tools to customize it to any user's heart's content (even moreso since 4.10 released the mine type editor).
The workspace system is a bit fluky at times, but that is the only real gripe that XFCE can get. I call this one error "leashed windows". Windows that have focus follow you to other workspaces. This usually only applies to switching using keyboard shortcuts.
Just like Gnome 2.0 it comes with a panel to search through applications, and option to make launchers and links from the desktop, and applets for its panels. It improves on this with a dock (which many users, myself included, purge and replace with tint2 or another dock application) and a good settings tool. XFCE can do some very advanced things. It can even change its Window Manager. Awesome window manager inside XFCE? You bet.
Most of XFCE's applications can be run outside of XFCE, even the window manager. So you can use any combination of XFCE and another environment of your choice while still keeping a low memory profile since XFCE has very few runtime dependencies.
Aesthetics: 6 (But customizable to the point of 10)
LXDE is a set of tools that combines with the Openbox window manager to create a graphical environment unmatched when it comes to ease-of-use combined with shear speed. Some have argued that because of the seperation of desktop environemnt and window manager that LXDE has a "hacky" feel to it. This is not the case. LXDE is a ligthweight XFCE with Openbox's graphical configuration tools. Lxterminal rivals Gnome terminal, and Lxappearance rivals myunity for theme configuration. In fact, lxappearance is the go-to application for changing gtk themes on other desktop environments, not just LXDE. Some of the default software is chosen well too. Pcmanfm as the file manager, for instance, goes along with the lightweight feel of LXDE. Like KDE and XFCE you can change LXDE's window manager from its configuration dialog.
Enlightenment 17, e17 for short, is an odd desktop environment and graphical library suite written by the enlightenment foundation. It improved heavily on e16 and handles a lot of configuration on its first-time-run dialog. It can be heavily extended through configuration files, but otherwise it remains at the beautiful default.There are issues with the file manager handling the desktop, however, and it may throw the entire look-and-feel of the environment off.
E17 really needs some work. I have had graphical problems and just found it counter-intuitive after it has been set up.
Dynamic Window Manager
Dynamic window manager is a popular dynamic window manager. Dynamic means that the window manager can float or tile, and in DWM's case monocle and spiral. DWM has no configuration tools and the only way to modify it is via the C source code directly. DWM developers have a philosophy that restricts the window manager to only 2000 lines of code, so large improvements cannot be made. Furthermore, users looking to use a mouse are going to feel left out. Although a mouse can minimally interact with the window manager a user with anything but a keyboard and combinations will be lost.
When I first tried the most recent version of Linux Mint it came with Cinnamon - their home-grown desktop environment forked from Gnome 3. Cinnamon is the MATE of Gnome 3, you could say.
Cinnamon did not disappoint on the aesthetics. It was visually appealing to the last detail (as it was configured in mint, at least) and had the ability to be themed. The menu is one of the smartest (from a searching and design point-of-view) menus around. From one menu you can search for applications, search by category, and access bookmarked applications. The searching works as good as Gnome 3's does, so you can still use an application if you do not know its name.
Cinnamon comes with a feature called Expo that is one of its selling points. Expo can show a spread of all of your workspaces, and upon hovering over one a cascade of all the windows in that workspace. Clicking on a window will take you to that particular workspace and application window. If you have used Compiz expo, this is the same feature but integrated in the desktop environment.
There were two issues with cinnamon. The menu took 2 seconds and 17% CPU for a few seconds to open. I talked to a Cinnamon developer via IRC about this problem and he confirmed that it had been fixed and will be released in the next major cinnamon update. Along the lines of bugs there are memory leaks in Cinnamon, so it requires a restart after multiple hours of running to free some RAM.
Another problem is that some of the layouts do not work at times, but at other times they do. There was no word on whether or not this would be fixed or whether or not it is really an issue. Another issue (not a bug) is the lacking of some advanced features from the cinnamon settings dialog, but advanced settings can still be configured with dconf.
TWM - Tab window manager. I have not used this long enough to give a definitive answer, but when I used it the window manager worked as it was intended - which isn't enough.
MATE - Displaced by cinnamon
For pure productivity
Awesome Window Manager is the most productive of the window managers if the user has the patience to edit the lua configuration file and learn the keyboard shortcuts.
For speed dynamic window manager wins. 2000 lines of code execute blazingly fast.
KDE wins the aesthetics prize, especially if the advanced desktop effects are enabled with the search and launch activity.
Once again KDE wins this prize. Everything is handled for the user.
KDE is the overall best desktop environment, but each has its own niche. To truly determine the best environment, using all of them and deciding on your own is the best way to make a decision.