Divide workspaces by projects, not applications.
I use web browsers, terminals, finder windows, and code editors for my software engineering projects.
I also use applications that are project independent and should stay out of the way when not needed yet remain easily accessible without having to switch through a bunch of “spaces.” I consider Mail and iTunes to be such applications. These tend to be applications that only use one window and as a result they are easily managed just by using the Dock and Command-Tab features in Mac OS X.
My setup can be accomplished with two quick steps: