Hola.
El eterno problema de cualquier sistema operativo es cómo nos las arreglamos con las librerías y aplicaciones compartidas.
Tienes una librería libA.1 que es utilizada por la aplicación ProgramaA; quieres instalar ProgramaB pero requiere libA. Si usas python, php etc. te encontrarás habitualmente en la situación de que un módulo que necesitas usa una versión concreta de una librería y otro módulo requiere otra versión diferente.
Cuando usamos openSUSE, eso es algo que puede manejar zypper, si bien a veces podemos usar update-alternatives para cambiar qué versión de una librería o aplicación queremos utilizar. Python, por su parte, provee un entorno de ejecución que supongo que en parte estará inspirado en el de java, de forma que si “activas” un entorno u otro usarás unas versiones de librería u otras.
La otra cuestión es cómo responder a la necesidad de actualizar el sistema y a la eventualidad de que dicha actualización falle, en particular en sistemas que quieres que estén parados el menor tiempo posible.
Y finalmente está el márketing y la eficiencia de recursos.
La mayor parte del desarrollo informático está yendo a resolver estas cuestiones. Bueno, también se entierra dinero en web3 y cuñAIdos varios, pero eso es otra cosa.
¿Para qué querrías un contenedor por ejemplo?
Imagina que tienes Firefox con una configuración meh para navegar normalmente por sitios “comerciales”, viendo pelis en alguna plataforma, comprando libros etc. Pero querrías tener un Firefox “guay” para que fuera más seguro. Pues vas e instalas un contenedor con Firefox bien configurado y ya. O puede que quieras instalar uno para hacer pruebas.
Otra posibilidad es la simplicidad para desplegar servicios. Por ejemplo, puedes desplegar una base de datos con sencillez ya configurada, por ejemplo esto permite desplegar Nextcloud: Docker (puedes añadir otro contenedor con mariadb o postgresql, con nginx para el proxy inverso…)
Yo suelo usar máquinas virtuales y apenas he desplegado algún servicio con Docker, bien como VPS (Virtual Private Server) en algún hosting remoto o en mi equiop de escritorio, todas ellas con KVM.
Por ejemplo, si quieres usar AutoCAD porque la gente quiere usar esa cosa, necesitas Windows, así que montas tu máquina virtual con Windows 10 o Windows 11 e instalas esa cosa y ya. O simplemente probar sistemas operativos.
Salud!