Virtualization allows for the creation of virtual versions of hardware platforms, operating systems, storage, and network resources. It works by inserting a hypervisor or VMM between the virtual machines and physical hardware that provides an abstraction layer and efficiently multiplexes resources. There are two main types of virtual machines - system VMs that support multiple processes and share resources, and process VMs that emulate hardware for a single process. Virtualization is important for cloud computing because it allows clouds to offer flexible, on-demand resources and enables features like live migration, load balancing, and high availability. The main benefits of virtualization include instant provisioning, mobility, consolidation, high utilization, and improved hardware isolation and security.