I'm a big fan of the "Hide" feature. If I'm in an app and I want to keep it open put get rid of the window (iTunes, Mail, Vienna, Transmission... the things I always have open, but only want to interact with every so often); just hit cmd-H and it's gone.
I find I use this more than Exposé or cmd-tab; because with these the other windows are still cluttering up your screen. This way I'm in Safari, Mail beeps at me, I click the icon (I could cmd-tab to this, but I prefer to just click the icon than cycle through every other app to get to mail), read my new mail, hit cmd-H and Safari is my active window again and my workspace only has one window open.
When I do use Exposé is when I have multiple windows open in the same app; then its really the only option (if I know there's only 2 I'll either cmd-~ or just click the other window depending on whether I'm typing or not at that time).
Also it is easier to hit F11 to get to the Desktop and F11 to get back to Safari than it is to hit cmd-H and then go looking for the Safari icon or scroll through cmd-tab to show Safari again.
So really it's a combination. Best tool for the job and all that.
I'm going to be interested to see how I integrate Spaces into my workflow, if at all... won't know until I have it I suppose.