I find that the focus model tends to break down in Spaces for any multi-window application like Finder, Chrome, Emacs and Terminal. If every window of an application is going to jump to the top then that just adds extra work to switching desktops.
That being said, I do like the Application->Window switching model on it's own and wouldn't trade this for Virtual Desktops.
Some people might think that Spaces is essential but Apple seems to disagree with them. (I’m not saying that Apple is right.)
I, too, thought that most people wouldn't really care much for spaces, however I have noticed several of my non-technical friends using and began wondering. The conclusion that I came to is that, if you replace my IDE with something like MS Word and my text editor with something else, perhaps Photoshop or Illustrator, you'd get roughly the same workflow that I have, just without the code.
Now, I'm not saying that Spaces is essential, but I this is one case where something we think is nerdy, is actually pretty main stream.
Since were on the topic of application visibility and switching. I'm wondering if there is a better way than spaces. It's obvious that full-screen mode with easy switching isn't it. I find that context switch to complicated though I'm not quite sure why - way back when I was on windows, that was the way I did things. Perhaps expose is underused?