In a nutshell, the virtual machine (or VM for short) is an emulated computer system that imitates the configuration and operability of a real PC.
The software-based VM (also known as full virtualization VM or system VM) is all-in-all a separate fully-functional operating system inside the real host OS. It’s really handy to have one of those if you, for example, want to test your software product on different platforms, or need to use an application incompatible with your current OS, or would like to create an OS backup.