The problem with just about every virtual desktop implementation is just that - they're virtual. This means that beyond the ability to move windows to specific desktops, you're still looking at exactly the same desktop, no matter what virtual desktop number you switched to. A mockup for GNOME Shell is trying to take the virtual out of virtual desktop.

I usually have 4. When I am working, I give one to evolution, two are for work stuff (typically one has a gvim instance and terminal for running tests only, the other has a few terminals and some browsers) The fourth is for personal stuff, tends to have a browser, maybe a chat window or two, or rhythmbox.