However, I still think the multiple-window model is powerful when single-tasking with multiple tools. In XCode, for example, I always run in the "Condensed" layout; the file list is in one window, the editor is another, as are docs, the console, the debugging HUD, etc. It lets me put things where I want them to be: console and debugger on the second monitor, documentation side-by-side with the editor, etc. And I can scootch them around to make room to see a terminal window, or IRC in a dev chat, or whatever.
It means I do spend a little more time on the resize handle than I would hitting a mythical Mac "maximize" button, but trying to use single-window IDEs feels like walking in mud in comparison. (I'm looking at you, XCode 4.)
I tend to use Spaces to focus on tasks. One neat trick: you can manage windows from the Spaces zoomed-out view. Drag your IDE or text editor to another space, or shift-drag to grab all an app's windows at once. You can even engage Expose in Spaces and drag windows from that view. I never find myself wanting a window filling the screen, especially with modern resolutions.
Point taken on ircle. I'm just nostalgic.