the guest and the host
These two words name the two sides of a virtualization setup, and once you have them straight, almost everything else falls into place. The host is the real, physical computer and the software that truly owns it - the actual silicon, plus the hypervisor (and, in a hosted setup, the host operating system). The guest is the virtual machine running inside: the fake computer, its operating system, and everything inside that bubble. The host is the landlord; the guest is the tenant.
The key thing to feel is the asymmetry. The host can see the guest's memory, pause the guest, snapshot it, throttle it, or kill it - the host is in control. The guest, by design, cannot see out: it believes its virtual hardware is the whole world and ideally has no idea it is virtualized at all. We even name things by direction: guest-physical memory is what the guest thinks is its physical RAM, host-physical memory is the real RAM; guest additions or guest tools are helper software you install INSIDE the guest to make it cooperate better with the host. Anything 'host-side' lives in the controlling layer; anything 'guest-side' lives in the bubble.
Where this trips people up: 'host' and 'guest' are roles, not fixed machines. You can nest virtualization - run a hypervisor inside a guest and host further guests inside that - so the same operating system can be a guest to the layer above and a host to the layer below. Also, in OS-level virtualization (containers) the words shift slightly: the 'host' is the single shared kernel and the containers are the isolated workloads, but there is no separate guest kernel at all. Always ask which kind of virtualization you are talking about before reasoning about who the host is.
On a laptop running macOS, you open VirtualBox and boot an Ubuntu virtual machine. Here the host is macOS plus the laptop hardware; the guest is Ubuntu inside the window. Ubuntu's 'physical memory' is really a chunk of macOS's memory handed to it.
macOS is the host; the Ubuntu virtual machine is the guest living inside it.
Host and guest are roles relative to one layer, not permanent labels. With nested virtualization the same OS can be a guest above and a host below at the same time.