Back when I was doing a lot of programming, my four Linux (Mandrake) desktops had the titles Main, Internet, Messaging, and Office. Main held all of my programming stuff: code editors, calculator, compiler, and so on. Internet had the browser, mail client, ftp client, and so on. Messaging was on its own tab to minimise interruptions, and just had a couple of IM clients (this was before most of them handled multiple protocols). Office had OpenOffice writer, spreadsheets, and so on.
Nowadays my needs are much simpler, so I just have 3. The first is for photography (Lightroom, Photoshop, Photo 10, etc), the second for Internet (just browser and a Twitter client these days), and the third is for music (Studio One, Live, occasionally Reaper). When I want to use LibreOffice Writer, I use the first desktop as I won't be doing any photography.
And, apart from the fact that Alt-tab is a pain (literally, at my age) with more than about 5 open applications, virtual desktops contextualise what I'm doing. As has been mentioned elsewhere, each virtual window is a 'world', and I can keep my tasks separate in my head as well as on the screen.
My virtual desktops survive a reboot, and I can't understand why some people's don't. Maybe it's a setting I switched on when I first upgraded a year ago, I don't remember. I sometimes wish that my apps survived a reboot, or at least, run when I boot up, each on the 'correct' desktop. Just like they did in KDE.