Debian supports all kinds of graphical environments from fully-featured desktop environments like GNOME and Plasma, to lighter environments like Xfce and LXDE, to even lighter window managers like Openbox and tiling window managers like Wmii.
Purpose of a D.E. is to provide a coherent suite of applications in terms of look, functionnalities, and usability.
The GNOME project provides two things: The GNOME desktop environment, an intuitive and attractive desktop for users, and the GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop.
Plasma by KDE is a powerful open source graphical desktop environment for Unix workstations. It combines ease of use, contemporary functionality, and outstanding graphical design with the technological superiority of the Unix operating system.
Xfce is a lightweight desktop environment for various *NIX systems. Designed for productivity, it loads and executes applications quickly, while conserving system resources.
LXDE is designed to work well with computers on the low end of the performance spectrum such as older resource-constrained machines, new generation netbooks, and other small computers.
MATE is the continuation of GNOME 2. It provides an intuitive and attractive desktop environment using traditional metaphors for Linux and other Unix-like operating systems.
As its name says, Window Managers control the layout, appearance and ways to interact with your environment windows. While some Window Managers might be part of your Desktop Environment, some (such as tiled window managers) also do work as standalone, and were eventually designed for that purpose.
Openbox is a lightweight and highly configurable window manager with extensive standards support. It is well known for its minimalistic appearance.
FluxBox is a windowmanager for X that was based on the Blackbox 0.61.1 code. It is very light on resources and easy to handle yet full of features to make an easy, and extremely fast, desktop experience.
Compiz is a compositing window manager for the X Window System that uses 3D graphics hardware to create fast compositing desktop effects for window management.
Search Window Managers with Debtags: x11::window-manager.
Tiling Window Managers
Tiling Window Managers provide a way to control windows behavior by making them tiled, easily occupying the whole screen.
Wmii is a dynamic window manager for X11. It supports classic and tiling window management with extended keyboard, mouse, and filesystem-based remote control. It replaces the workspace paradigm with a new tagging approach.
Awesome is a dynamic window manager for X11. It supports tiling window management with extended keyboard, mouse, and it is scriptable in Lua. It includes many add-ons which can make it very powerful. It replaces the workspace paradigm with a new tiling approach of non-overlaping windows.
In the X Window System, an X display manager is a graphical login manager which starts a session on an X server from the same or another computer. A display manager presents the user with a login screen. A session starts when a user successfully enters a valid combination of username and password.
More infos: Display Manager
How it works?
Installation of a Desktop Environment
First, during the installation of Debian, the installer offers the choice of which Desktop Environment to install, you can also install none if you want no graphical environment or prefer to install it later.
Afterward, installing another Desktop Environment is as simple as installing a single package. For some Desktop Environments, you have choice between several meta-packages depending on if you wish to install a minimal set or most of the software coming with the environment. Please refer to the page specific to the Desktop Environment you wish to install for a description of these meta-packages.
Installing a new Desktop Environment will make it available for your system, but you still need to set up your user Session (see below) in order to run it.
Most Display Managers will allow you to select which Desktop Environment/Window Manager you wish to run for next session, and eventually make it default.
If you don't want to run a Display Manager to manage your sessions, you might consider using nodm - you may be comfortable merely using a screen locker (eg. XScreensaver, slock) to lock your sessions manually instead of expecting it to insist on username plus password to get in. This is likely inappropriate for servers, but may well be acceptable for a user's home system, assuming no familial trust issues.
If you have no Display Manager installed at all, you can still start the X Environment from console with the startx command, which is a call to xinit.
Debian Reference Manual: The X Window System: Starting the X Window System (Chapter 7.5)
Theming and customization
Easiest way to customize your environment is to install themes designed for your D.E. from your Package Manager.
Further customization is possible by editing settings of Graphical Toolkits, such as GTK2, GTK3, or directly change the application settings.
Some terminals like xterm and urxvt make use of Xresources to control their appearance and functionalities.
Search X11 Themes with Debtags: x11::theme.
Learn about getting Fonts, fonts rendering and other issues.
While the purpose of a desktop is to provide a coherent suite of applications, you are likely to mix applications coming from several desktops which are using various graphical toolkits, with the inconvenience that they will not be well integrated.
Getting a uniform look and feel between your applications might be challenging, and relies on workarounds such as using themes specifically designed to look similar between several environments and applications.
Some features such as the desktop menus can be shared, in particular for environments following FreeDesktop (XDG) guidelines.
Having several applications with the same purpose will lead to competition for which software is meant to open when handling your files. Several mechanisms do exist to control these default applications and settings.
Display managers like XDM, GDM, WDM, or KDM.
qt5-gtk-platformtheme : may help to have similar look with QT5 applications within GTK environments
Base16 : guidelines to make similar-looking themes for various applications.