Virtualization allows multiple operating systems and applications to run on a single hardware device by dividing the resources virtually. It provides isolation, encapsulation, and interposition. There are two types of hypervisors - Type 1 runs directly on hardware and Type 2 runs on an operating system. Virtualization can be applied to servers, desktops, applications, networks, and storage to improve utilization, security, and manageability.