Firstly, Parallels works well. I've used it to run IDEs for microcontrollers and fairly demanding USB-based data acquisition systems in both windows XP and windows 2k. I use parallels to run legacy applications which are unlikely to ever be ported to OS X or which are no longer under active development. It has worked admirably at this task since Parallels 2.
Which is sort of the problem. I've also had to buy Parallels 3, 4, and 5.
Parallels Desktop likes to break when you update your OS. A lot. And Parallels is not particularly interested in supporting old versions of Parallels Desktop, answering all requests for support by telling you to go buy an upgrade. So, one hundred pounds of upgrades later I find that Parallels 5 is unsupported in OS X Lion, and that the only officially sanctioned remedy is to... buy another upgrade. Frankly, I find this unacceptable. I don't require any new features, my needs have not changed, I'm still using the same virtual machine images I was using 5 years ago, yet I have to keep rebuying their product in order for it to continue working. This is especially egregious in the last example, as a little bit of shell script trickery will make Parallels 5 work just fine on OS X Lion, so I am at a loss as to why they couldn't issue an official fix, other than the aforementioned fat sacks of upgrade fee cash.
It's because of this fairly shameless squeezing of their customer base for money that I can't really recommend that anyone looking for a virtualisation solution gets locked into the Parallels Desktop updates treadmill. You never know when a software update will render your version obsolete, forcing you into an unnecessary purchase. I could have literally bought a cheap windows box for the total amount of money I've had to spend on Parallels to date.