You get easy access to their addons with a VM (aka HAOS). You can do the same thing yourself but you have to do it all (creating the containers, configuring them, figuring out how to connect them to HA/your network/etc., updating them as needed) - whereas with HAOS it generally just works. If you want that control great but go in with that understanding.
I use HASS.agent to help manage my Windows desktop and expose various sensors to HA. It can suspend or hibernate the system. It does use MQTT as its connectivity plane.