I would just like to add that using Linux has given me a great deal of respect for virtual desktops. Ever since GNOME and KDE desktops have been available, they have utilized them and I have missed them on Windows machines ever since. I agree that the MS powertoy just doesn't work well, though I have used it a lot trying to force it to work. It just keeps causing issues.
To answer the purpose of such a program, I will just explain how and why I use it and maybe it will help clear a few points. My main purpose, as most have already explained, is to help organize things. For example, I use one desktop to write code; another to view the results in a browser; another for running my entertainment (music, video, etc.). This can, of course, be done by multiple windows, but by doing it this way, I am not searching through 19 windows on the window bar for the correct program. This is doubly true when you have multiple versions of the same program open. I know a few programs here help with that, but it is difficult sometimes to change what you are used to. Even more so in my case, because I am a desktop technician. Because I deal with so many different computers, I get used to the lowest common denominator - i.e. Windows basic interface. With virtual desktops, I have X number of Windows basic interfaces that each have their own purpose. Well, on my personal machine anyway...

Don't know if that helps, but that is my use.