The thing is there are a lot of retro and legacy software out there that people need to run, but won't run on modern systems.
Virtual Machines solve that problem, but they don't do things like 3D acceleration very good so that 3D video games for Windows won't run in a virtual machine. But as far as the 2D business apps go, they run quite well.
Most business software is written for DOS, OS/2, and 16 bit Windows. None of the modern 64 bit systems will run it. DOSBOX can run most 16 bit DOS programs but lacks printer support and other things. With a virtual machine an IBM PC-DOS 2.0 for example it is possible to emulate a parallel port and redirect the printing using a DOS based Postscript driver so that the printing goes to a Postscript file and then using Ghostscript it can be printed on any modern printer.
I really don't see why this subject is not discussed more on Hacker News. Many businesses are still running very old DOS, OS/2 and 16 bit Windows PCs because the modern systems break their critical business software. If those machines fail, there are no new ones to buy and replace them. So these 386 and 286 PC systems have become rare and worth a lot of money. But a Virtual Machine can run an old DOS, OS/2 or 16 bit Windows version to run the old business software on a modern PC using QEMU or VirtualBox or even VMWare.
I know people who want to do virtual machines for these businesses, but how does one start out doing that? Most of these businesses have a limited budget and cannot afford to pay developers to write new modern versions of their mission critical apps, so they keep using the old PCs and hope they don't break.