Virtual PC 2007:      
http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx 
 
Virtual Server 2005:
http://www.microsoft.com/windowsserversystem/virtualserver/software/default.mspx 
- Both FREE, 
- Both from MS, 
- Both can run on Windows XP, Server 2003 (no support for VISTA for Virtual Server 2005 R2) 
Q:
So what's the difference?
 
A: 
Which OS should be hosted !      Virtual PC is meant to host PC versions of the OS while       Virtual Server is meant to host Server versions of the OS
 
If you want to try the latest servers from MS, download the VHDs for Exchange 2007, SQL Server 2005 or Windows Server 2003 directly from:
http://www.microsoft.com/technet/try/vhd/default.mspx 
 
Enjoy :)