I was explaining to one of my close friends the difference among NAT, Bridged and Host-only Networking often found in VM settings. I could make him understand that and then I thought why not writing it down for others. In fact, I had the same confusion before. Hope my explanation would help you understand the difference.
Host-Only: Networking within the host OS. So, a VM will be assigned one IP, but it’s only accessible within the host OS where the VM is running on. No other machines can access it.
NAT: As the name suggest, the VM’s IP address will be assigned from a separate subnet. For example, 10.10.0.10 is your host computer, and the VM’s IP is 10.10.1.5. So, now your VM can access outside network like your host, but no one from outside can access the VM directly, the basics of NAT.
Bridged: The VM will be in the same network as your host, if may receive it’s own IP address if DHCP is enabled in the network. For example, if your host IP is 10.10.0.10 then the VM would be like 10.10.0.20. It can be accessed by all machines within that subnet.