Fusion’s view of the world is very low-level – when you run a virtual machine, Fusion sees machine-level instructions like "add registers A and B" or "write the contents of C to memory address X". Based on just this information, we might be able to tell you’re generating network traffic and there’s some video updating going on, but we would not be able to tell what program you’re running to do this, or even what guest operating system you’re running. Knowing what guest OS is being used in a virtual machine is important because some of them have quirks – one might not like video RAM above a certain size, while another might panic if it sees too many PCI slots, and a third might be unforgiving about how long I/O can take. There might be certain shortcuts that can safely be taken for certain guests. When you create a virtual machine, Fusion needs to know the intended guest OS to correct for the quirks and enable optimizations.
If you ever change the guest OS in a virtual machine (say you upgrade from Windows 95 to XP), you can (and should) use the Virtual Machine Library to change the guest OS that Fusion thinks resides within. Knowing which guest OS is being used is also important for things like Tools install – Fusion automatically picks the correct Tools image to use based on which guest OS you’ve told Fusion is being used in the virtual machine.