Virtualization allows a single computer to run a number of different operating systems. This is done by creating an abstraction layer and then installing these operating systems in their own environment. What you end up creating is essentially a new program that is a virtual PC with installed applications. This "program" can then be run on almost any PC, regardless of the native OS.
For instance, you could take a standard PC with XP Home and on that PC you could run Windows XP, Windows 2000, and Windows 2003 Server. You select which machine you want to run and that is the OS that you see. You can also "install" applications under each of these different systems, and when you boot to that virtual machine you will have the applications read to run. Even if it is a program that only runs on Windows Server, the abstraction provided by the virtualization software allows it to run on your XP Home PC. These virtual machines are isolated and can even be run at the same time.
Each of these virtual machines can be fully configured with its own "virtual hardware" to run an operating system and applications. One of the most popular features of these machines is that they can be moved from one physical machine to another without having to worry about interaction with other applications. For instance, once you have a Windows 2003 Server configured with all your applications you can simply move that entire setup to another PC with in a matter of minutes and have it run the same way.
Comparison with Thin Clients
While virtualization will let you run multiple operating systems on a single server, Thin Clients let you run multiple users on a single operating system - without all the virtualization overhead. To allow multiple users with virtualization you would need to have a virtual machine for each user. With Thin Clients you start up a standard version of Microsoft 2003 Server, install applications, and then start plugging in Thin Clients. All users run the same OS so there is just one server to maintain.
With Thin Clients you can rapidly deploy these sessions anywhere in your company just by adding a Thin Client. The client displays the session that is running back on the server, allowing the operator to control it with his local touchscreen, keyboard or mouse.
It is possible to combine virtualization and Thin Clients by running the Thin Clients on a virtual 2003 Server. While there may be cases where this makes sense, it is usually just adding a layer of complexity that you don't really need. In fact you could install two virtual servers on a single PC and then view both virtual machines from a single Thin Client. However using these two virtual machines for failover or redundancy is really just asking for trouble - after all, they are really just running on the same piece of hardware!
A novel idea for deploying Windows XP
Windows XP continues to be popular, especially with companies who have settled on a secure build that needs to remain unchanged. This is often the case with pharmaceutical companies - they have an approved "locked down" XP configuration that must be used whenever a new PC is deployed. Some are looking to use one of the virtualization tools to put this sanctioned build on PCs with a different underlying operating system. But Thin Client technology offers a much better solution.
You may be tempted to load an XP build multiple times on a Windows 2003 Server, using this as an initial application for the Thin Clients. You would then start multiple virtual machines, each one an XP machine, all running as different users on the Server. But this eats up a huge amount of resources. Instead you could take advantage of the fact that most Thin Client management software allows you to specify the Admin connection to Windows XP (instead of a Windows 2003 server) as a host.
To do this, first set up a PC with virtualization software and start a number of XP virtual machines. Each of these virtual XP machines will have its own IP address. When you configure the Thin Client, do not put in the IP address of a Terminal Server (as you would normally do) but instead put in the IP address of one of the XP builds. The Thin Client will display the XP build without having to go through Terminal Services. Thin Client management software such as Thinmanager from ACP gives you the option of displaying a number of these XP builds on a single Thin Client, switching between them or displaying them each on a different monitor.
You have now achieved the goal of deploying these virtual XP machines wherever you want around the plant just by running a network cable and plugging in a Thin Client. If the build changes in the future, simply make the changes on the XP hosts and all of the Thin Clients will immediately be running the new version, assuring that all instances are identical.