A virtual machine, or virtualization, refers to a technique in with the operating system on a particular machine, in cooperation with the machine's CPU, provides to the processes running on it the illusion that they are alone on a bare machine.
Operating systems which provide the capability are called 'virtual machine' (VM) OSs; if the VM OS is properly designed and implemented, it is usually possible to run another copy of the VM OS inside a process running in the same VM OS, but on the 'bare' hardware. This capability can be useful for testing new versions of the VM OS, etc.
Not all computers can be virtualized; it requires that the machine hardware be carefully designed so that any and all operations which could disrupt the overall operation of the machine (e.g. resetting all the I/O devices) can be preventing from happening, but instead result in a trap to the OS, so that it may simulate that action.
Some actions, such as device I/O, are simulated in a restricted way; e.g. attempts to read and write disks may instead result in reads and writes to a file which has been configured (at the time the virtual machine was started) to represent the disk(s) attached to that virtual machine.