In general, a virtual machine will have different drivers to it's host machine. Even if they are the same operating system the virtualisation software will generally provide a set of devices. So whereas the host machine might have an nVidia display, SATA disks and a 100Mbit 3com network card, the virtual machine might have a 'generic' display card, 'SCSI' disks and an AMD gigabit ethernet card. If you replace components on your host machine (such as replacing the graphics card or switching to a SAN for you hosts drives) or even transfer the VM to another machine, the components running inside the VM will stay the same.
Some devices, such as USB, have pass-through drivers. Instead of trying to virtualise every possible type of USB memory stick or web cam, the host passes communications from the device directly to the VM, effectively the VM sees it just as if it was a real machine with the device plugged directly into it, so loads it's own drivers. When a device is passed-through to one VM it generally isn't accessible to the Host machine, or any other VM which is running on the machine.
Finally, because it is up to the virtualisation software to provide virtualised devices, you rely entirely on the decisions of the software company for what it supports. There is no FireWire pass-through support in VMware, for instance. You can plug a Firewire hard drive into your computer and access it via a share from the host, but you couldn't have it show up as a drive in the VM. A firewire camera though, which requires specific drivers to be installed could only be accessed by the host.