The X Window System (commonly X11, or X) is a networking and display protocol which provides windowing on bitmap displays. It provides the standard toolkit and protocol to build graphical user interfaces (GUIs).
Window Managers (WM) control the placement and appearance of application windows in conjunction with the X Window System. Types of WM:
- Stacking / floating window managers provide the traditional desktop metaphor used in commercial operating systems like Windows and OS X. Windows act like pieces of paper on a desk, and can be stacked on top of each other. Examples.
- Tiling window managers "tile" the windows so that none are overlapping. They usually make very extensive use of key-bindings and have less (or no) reliance on the mouse. Tiling window managers may be manual, offer predefined layouts, or both. Examples.
- Dynamic window managers can dynamically switch between tiling or floating window layout. Examples.
Desktop Environments (DE) work atop and in conjunction with X, to provide a completely functional and dynamic GUI. A DE typically provides a window manager, icons, applets, windows, toolbars, folders, wallpapers, a suite of applications and abilities like drag and drop. Examples.
Source: The great archlinux Wiki :-)