A good alternative I've been using (as a developer I often need host<->VM connectivity) is to have two virtual adapters, one connecting to NAT as previously described, while the other connecting to a "Host only network". Host only network does require some support from the operating system, but at least there's no bridging involved.The "isolation" of the VM would be a problem since I've been relying on the connection between the VM and host, as well as the VM and the internet, and of course the host and the internet too. So yes, that's a more complicated setup to organize.
Now if you need for the VM to be accessible from outside the host.... THAT is more difficult. You can either bridge or (at least with VirtualBox) manually configure some static NAT mappings.