I tend to think of it as a virtual "machine" (as in a virtual computer) that runs on top of the real hardware and operating system the same way any program does. Except virtual machines implement entire virtual machines (big surprise, right). They provide a layer between the hardware and some arbitrary software, which is usually an operating system.In a nutshell, it lets you run an entire second operating system right on your primary one's desktop. If it helps you picture it, the interface is almost identical to a remote desktop session with a ton of extra configuration options; and it's not remote, it's on your computer and you can have as many of them as you have the space for. You can also do cool stuff like save the entire machine state as a snapshot and load it up later (same way you can with console game emulators). There's a lot of neat stuff to play with if you get into that sort of thing.Unfortunately, they're slower than running on the hardware directly (the virtual machine layer in the middle translating stuff is a lot of extra overhead). They're also not perfect. They're amazingly good, but graphics are one of the things that don't really get emulated properly; for example, I can't even enable the Air theme (the transparent glassy one) in a Windows VM. The graphics glitch too much.If you want to play with one (VirtualBox used to be free, I assume it still is), go to https://www.virtualbox.org/