Virtualization and emulation are two ways of running multiple operating systems (OS's) on the same machine, at the same time. They achieve the same effect through different means, and vastly different performance.
In either case, one operating system, called the host, is ultimately in charge of all hardware resources, and runs just as it would in the absence of virtualization or emulation. To allow another operating system to run at the same time, we run a program on the host that pretends to be another computer. This application could be either an emulator or a virtual machine. The OS running under the emulator or virtual machine is called a guest, and is, for the most part, unaware that the emulator/virtual machine is not real hardware.
There are many virtual machine and emulation packages available for a variety of host and guest platforms. Below is a screen shot of Windows 10 running under a free, open source virtual machine called VirtualBox on a FreeBSD workstation. (Click the image to enlarge.)
Using virtualization, a single computer can replace two (or more), thus saving you a great deal of money and space. Virtual machine software is generally inexpensive or free, compared to at least $1000 for high-quality real computer hardware.
In theory, there is no limit to the number of guests that can run under a single host. Of course, there are practical limits due to the amount of memory and disk available, and the speed of the CPU and other shared hardware.