Virtual Machines [VMs] are great with all sorts of uses, but while virtualizing a running, working copy of Windows may sound cool, it's a bit of work that often doesn't live up to your initial expectations -- it's mainly useful for running your old software in a newer Windows OS, e.g. an XP VM in win7, but you're often [IMO usually] better off reinstalling those apps in a newly created VM, or in the current version of Windows you're running. It's a bit difficult to get everything working in the converted VM, & the result has a tendency to be both more troubleprone & slower than if you added the same software to a freshly created VM or to your regular Windows install. In the case of something like casual games where you want to preserve your licensing but don't have heavy hardware requirements, it may be better to install to a fresh VM that you can continue to run regardless the version of Windows you're using. While it's less common overall, converting an installed copy of an OS to a VM can be very useful if/when you have trouble accessing that OS, its data, &/or apps, say for example when a PC/laptop dies.
Virtual Machines make good test environments, they let you run a different version of Windows [or *nix] at the same time as whatever version you boot into, they let folks running a Mac run Windows software, and to an extent they make a Windows install, complete with software, portable. Microsoft advertised their XPMode VM as a way to run XP apps in win7 until win7 versions were available/installed. In the biz world VMs let you allocate hardware as needed for whatever purposes are needed, plus employees can access their personalized Windows on available hardware wherever they are, as long as they can connect to the server with their VM. If you fix PCs, &/or if you just want to run *your* windows wherever on whatever, you can set up VBox portably & run software in a VM that is difficult at best to install in a WinPE type setup. Paragon promotes the use of a VM as an intermediate step in transferring your Windows install, complete with software to new hardware, mainly useful when/if that new hardware isn't immediately available, something you haven't got yet. Some people like & use VMs for more specialized tasks, where they can add software for example that they don't want to bother with in their everyday copy of Windows.
The 3 main VM Hosts you'll see & use are Microsoft's Windows Virtual PC, VMWare, & VirtualBox -- there are heavier duty alternatives, like Microsoft's Hyper-V, designed more for corp IT. Virtual PC is cool, lets you interact the most with your running copy of Windows, but not all Windows versions will work as a Guest because not all versions have all the remote features needed. Virtual PC also tends to be a bit slower, & of course it'll only run in Windows. VMWare is very nice, but it's also expensive & the most involved, the hardest to use. VirtualBox is open source, though it was purchased by Oracle & that could change some day -- look at Star Ofc & how the open source part split off to become Libre Ofc. VBox has better fake Direct 3D than Virtual PC, is also more flexible, but using it you'll see it's less of a *Finished* product than the other two. All 3 VM Hosts add an extra layer of software to anything you do in a VM, so the Guest OS will run slower -- you also have less hardware resources, with only a portion of your physical RAM & CPU being allocated to the VM... a lot of software requires fairly little in the way of resources & will run just fine, but don't look to encode video or do any serious gaming.
Now the basics... a VM [Virtual Machine] is made up of 2 parts, the Host software & the Guest OS. The Host provides fake hardware -- the advantage is that this fake hardware is always the same, so there's little or no difference whether the Host is running on Intel or AMD hardware, in Windows, on a Mac, or in *nix. That said, VM Host software needs to run in some OS -- you can't boot directly to the Host & run whatever Guest OS. You can boot to a WinPE-type environ, then run the VirtualBox Host portably. Host software does install & use drivers so it can work with your real hardware -- VirtualBox can be made to run portably by using what IMO amounts to a packaged set of scripts that install those drivers, run the Host app, then uninstall those same drivers when closed [vbox.me]. The Guest OS is simply whatever OS installed on a virtual disk in the Host environment, using that Host's fake hardware -- it's installed or setup the same way as using real hardware. VM hosts also normally have Guest OS specific add-ons that are usually installed once the Guest OS is set up -- the VirtualBox additions for example help you & the operating system interact with the running virtual machine, share folders on your hard drive(s) etc.
Virtualization took a big leap forward with win7, & will move further forward with win8 -- in win7 a big part of that leap is the way Windows will work with virtual disks, which you can create, mount, & even boot to pretty much at will. While less efficient & more trouble to work with, virtual disks like Microsoft's VHDs mean containerized disk partitions that can be moved around, nested etc. however you like with a lot more flexibility than their physical equivalents -- BTW you'll see nesting mentioned re: Truecrypt, where a copy of Windows or whatever OS is installed to a encrypted VHD hidden inside a encrypted VHD with Windows also installed, based on the idea that if someone manages to get inside the 1st level they'll not bother looking for the 2nd, nested level. Virtual drives can be self-expanding, meaning you allocate a maximum size when they're created, but they'll only take up the amount of room they need on your physical drive -- a 120 GB VHD might only take a few GB to store if that's all you've added to that VHD. One down side is that it's a bit of bother when/if you want to shrink them again after deleting files -- another is that it can seem to take forever if you try to compress a VHD file, e.g. zip or 7-zip for backup storage/transport, & they can make a regular disk backup take quite a bit longer too [I just copy them as-is to store additional copies/backups]. Otherwise virtual drives can be treated just like real ones.
At the heart of Paragon's virtualization tech is the fact that Windows is Windows, & the difference between the copies installed on 2 very different PCs is the driver software that Windows uses to talk to & use a PC's or laptop's hardware. Windows will see new hardware & add drivers as needed on its own -- in this respect win7 is better than XP, & win8 is better still -- but it has to be running to see that it needs whatever drivers in the 1st place... if the drivers installed are incompatible with the hardware Windows is trying to run on, that's not going to happen. Paragon's software goes into the registry & turns off those preexisting drivers so Windows will start & then do its thing, finding/adding drivers as necessary. *Adjusting* Windows to new hardware is done with Paragon's WinPE -- once you transfer everything to the new hard drive you need something that'll boot since Windows won't yet. Installed in Windows [e.g. the Compact version offered on GOTD] the same thing happens but instead of being adjusting for new *real* hardware Windows is adjusted for the fake hardware in a VM. Each of the 3 Hosts I mentioned have their own virtual hard drive format, & Paragon's Virtualization Mgr can work with them all. The Gotcha is that Windows isn't always that great about identifying hardware -- the ID it finds/uses is often based on any hardware IDs stored in the registry, & when you're changing hardware, that info is going to be wrong. Going in yourself, finding what needs to be changed, what it needs changed to, then finding/downloading/installing needed drivers can take as much time as installing Windows fresh & then reinstalling your software.
Paragon's Virtualization Mgr. can do a lot with virtual disks [depending on version], mounting them, working with the VHD partitions etc., but I've found you can do the same things [with the exception of adjusting Windows] without their apps, sometimes faster... IOW many features are a nice convenience but not completely necessary. My procedure for virtualizing Windows, FWIW, is to 1st restore a disk image backup to a mounted Microsoft format .vhd file. Then I reduce that partition's size, & rename the folders for things that start with Windows, e.g. AV software & graphics card control apps [like ATI's CCC], & that's what I'll use in the Paragon app, which will then adjust that copy of Windows & create a new virtual disk. Note I've sometimes had to copy that smaller partition to another, smaller VHD 1st. Once the new VM starts Windows will go through finding/adding new hardware, I'll add the Guest OS additions or add-ons, & Windows will then find/add more hardware. Next is Windows Device Mgr., changing/updating drivers & uninstalling devices that don't belong -- I've had many cases where the AMD drivers, in particular their pci-e driver hung around causing problems. Once everything is running well I can rename the folders I disabled, optionally going through a regular uninstall, for example with the ATI control software. You could of course shrink the partition & disable software to start with, but I normally don't want to fool with a running copy of Windows, running the risk of breaking it, & maybe causing more work, putting things back afterward so the running copy is more or less unchanged. You can also leave however many apps &/or files out of the original backup, but that generally makes the backup process take much longer.
Finally a few words on licensing... Many versions of Windows [SKUs] are not licensed for use in a VM, & Microsoft has [& probably will continue to] revised of their license terms re: VMs. Changing hardware often means reactivation -- one of the *alleged* triggers is the MAC address, which can be set manually in VBox. Moving/Copying a Guest Windows install from one copy of the Host to another, even on the same hardware, can cause Windows to lose/need activation. VM Hosts have their own means of making backup copies etc., which can also trigger reactivation -- one reason I keep it simple & just copy paste the virtual disks to backup & restore.