If you need virtualization on the desktop in a production/development environment with full access to hardware such as USB ports, then you need to look at something like VMWare or Parallels.
That said, if you're an average home user, or a professional who needs occassional access to a Windows or Linux application, then you may want to check out VirtualBox. It's freely available as Open Source x86 virtualization software for Windows, OSX, Linux, Solaris, Open BSD.