How does Crossover differ, exactly?
I've heard lots about Parallels but Crossover is rarely mentioned.
They're completely conceptually different.
In Parallels, the hardware is virtualized, and a "sandbox" is created in which the copy of Windows being run seems like it has access to its own computer within the computer, thanks to the virtualizing technology Intel provided.
Crossover is based on WINE. There *is* no copy of Windows involved. WINE is a system that translates API calls against APIs in Windows into commands the native host can execute. The tradeoff is that WINE is typically somewhat behind the latest level of Windows (because the APIs have to be deconstructed and ported), not every single piece of software is well-supported (often because the software was improperly programmed and does things it should not).
In both cases, direct hardware support is limited. Crossover has done some excellent work in making bridges that do the same thing for DirectX as it does for the rest of the Windows API. Parallels is working on virtualizing accelerated graphics support.
In the long run, Parallels probably has a stronger future, because it offers better compatibility with less work. However, WINE is a jewel of the open source community, and won't die too quickly.