Virtualization is a technology where many servers are run on a single piece of hardware. IBM has been doing it for decades called LPARs. Currently platforms like vSphere, and Hyper-V, are the virtualization platforms used by the most people.
Private cloud is pretty marketing speak for running a group of virtualization hosts (the physical machines) so that you can quickly and easily deploy new servers into the "cloud".
Citrix isn't really a virtualization platform like vSphere or Hyper-V (or Zen or any of the smaller packages). It gives you a physical system that applications are installed on. The end user then connects to the Cirtix server basically over RDP running the application on the server, but showing the application on the users desktop. Microsoft has a competing technology called App-V (Application Virtualization).
I can't speak to openstack as I'm not familiar with it.