A virtual machine is a software-based computer that runs an operating system and applications. A hypervisor program manages and allocates resources like the CPU and memory to each virtual machine, allowing multiple operating systems to run simultaneously on one physical machine. Virtual machines provide advantages like running different operating systems at once and easier maintenance, but may lead to unstable performance when running simultaneously due to inefficiencies accessing hardware.