The Debian Wiki page covers how to install nvidia's non-free driver the Debian way. Or you can use nvidia's installer, which is no more complex than apt-get. Nvidia has a nice manual here.
2. Multi Display
Basically, you could use either Xinerama, a built-in X extension, or Twinview, an nvidia-specific solution. Although in theory the open source driver nv should support Xinerama, it seems to only support multiple cards and doesn't like multi-headed single card, producing an error "Requested Entity already in use". So I ended up using nvidia's proprietary driver.
Configuration of X is pretty easy using nvidia's GUI tool nvidia-settings. Manual tweaking of /etc/X11/xorg.conf is not too hard either, thanks to the internet. You may also see my config files for reference: Xinerama and twinview.
The nice thing about Xinerama is that you get separate screens, so that you can rotate one screen and keep another intact. With Twinview you can't because the two monitors are treated as one screen and must be rotated together. Xinerama is not perfect though, because it would disable the XRandR extension, a module required by Compiz. Xinerama is also said to perform worse than Twinview.
There are also online tutorials for Ubuntu and Gentoo.
3. Compiz
Compiz and Beryl are in the process of merging their code bases, making Beryl dead. Compiz Core has been accepted into the official sid repository, making our life a lot easier. Even better, Compiz Fusion, i.e., the successor of Beryl, has an unofficial repository by shame (via Jesse).
As stated before, you'll have to disable Xinerama in order to enable XRandR. After Compiz has taken over the window manager, we don't see much difference on desktop, because we need to enable the plugins. The basic way to configure Compiz is through gconf-editor. When you enable the plugins, you must make sure the dependencies are solved. An easier configuration approach is to install Compiz Fusion.
It's a little hard to tell what a plugin does from its name, so check out the video below:
Xmonad is a tiling window manager, like dwm. In fact, its idea is kinda shocking if you've never heard of it. It doesn't have native task bars, menus, or any utilities. It even doesn't provide a title bar for every window. Its sole purpose is to manage windows. In fact, it manages windows so well that it automatically arranges windows to tile the screen without gaps or overlaps. All features of the window manager are accessible from the keyboard. The screen resembles Emacs so much that I can't help wanting to use Emacs' key bindings.
XMonad is written in Haskell. To build and use it you need minimal knowledge of Haskell. To configure its behavior, you directly edit the source code (!) in Config.hs and rebuild the whole thing, and then reload the WM on the fly.
UPDATE 08/09/2007:
Since this post is linked by xmonad, I'm going to write down the real Debian Howto, starting from a clean chroot environment:
First we install the required tools:
(x86-chroot)wh5a@debian:~$ sudo apt-get install ghc6 darcs libx11-dev libice-dev libxinerama-dev
Next we resolve the dependencies:
(x86-chroot)wh5a@debian:~$ sudo apt-get install libghc6-mtl-dev