I couldn't agree more about virtual desktops! Personally I use CodeTek's, with 20 desktops. I use them pretty much like you, with one desktop for email, one for NNW, one for Safari, one for iChat, one for Frontier, two or three for Xcode, etc.

I almost never hide an application, but I often "shade" windows, using Unsanity's WindowShade. I just can't figure out why Apple dropped that feature!