Desktop virtualization software uses technology that is similar to its more popular cousin, server virtualization. What’s different is how they’re presented to the end user.
Server virtualization typically exposes virtual machines to end users via the network, either through a remote desktop or simply as a server itself. Desktop virtualization makes the virtual machine accessible directly on the user’s desktop, either in its own window or as virtualized application windows that co-exist with the host OS’s own apps.
This isn’t to say that a desktop virtual machine can’t expose its guest OSes across the network, just that the main reason for running desktop virtualization is to directly use the resources of one’s own desktop machine—the memory, the CPU, and most importantly, the display and interface devices (mouse, keyboard, etc.)
Another difference, historically speaking, has been that in server
virtualization the emphasis is on technologies that have little place on
the desktop—hotplugging of CPUs, for instance. Some of these
technologies have found their way into desktop virtualization systems
(VirtualBox supports hotplugging), but by and large server
virtualization focuses on leveraging technologies which mainly appear
on servers rather than desktops.
Devices like audio, USB connections (so that existing USB-attached devices can be connected to the guest) and 3D-accelerated graphics are typically made available to the guest. Some of these things are not supported with the drivers available in a stock installation of the guest
The guest OS can be more closely integrated with the user interface of the host with the aid of, again, a software package installed on the guest. Such integration can range from the sharing of the system clipboard to more complex interactions—e.g., drag-and-drop of files from the host to the guest, or support for various kinds of hardware devices on the host.
This refers to things like tools for cloning existing VMs or taking and rolling back to snapshots of VMs. It rarely means live migration from one system to another (although VirtualBox has added this as a recent feature), or network channel bonding for redundant failover. It’s not technically impossible to add these features, but there’s always the question of how useful they are likely to be for their target market.
The Virtualbox desktop virtualization software