1:cygwin es bueno para hacks rápidos y para poder acceder a los recursos del sistema operativo del host (puede ejecutar IE, por ejemplo, en un script bash). Para algo estrechamente integrado y alguna palabra "real", vaya a vm. Emulará todo y separará el desarrollo de la máquina real, y esto puede ser algo bueno en algunos casos... como ventaja, simula un servidor real :)
2:al menos en virtualbox, tiene carpetas compartidas, y puede compartir una carpeta local, y verla en la máquina virtual como una carpeta local (local o como recurso compartido de Windows... en realidad depende). Luego, puede usar ese "punto de entrada" para vincular cosas en la máquina virtual y hacer las cosas que necesita con los archivos reales ubicados en la máquina real (host)
Me he enfrentado a problemas comunes antes y, según mi experiencia, la mejor solución es solo 2 estaciones de trabajo :).
Aparte de eso, tener Linux ejecutándose en un entorno virtual es mucho mejor. En primer lugar, tendrá capacidades completas de Linux (excepto la aceleración 3D, pero probablemente no la necesite). Tendrá la capacidad de crear instantáneas y volver atrás. a ellos cuando las cosas van mal! Puede iniciar múltiples entornos usando plantillas, lo cual es muy conveniente.
La única desventaja que se me ocurre son los problemas de rendimiento de la máquina host. Si se trata de una estación de trabajo/PC normal, un IDE + una máquina virtual + un navegador de más de 100 pestañas simplemente lo ralentiza.