What is Virtualization
In short, Virtulization is the creation of something Virtual (rather than physical or actual) such as an Operating System, a storage device, a server or even a network device (such as a switch).
Since you are asking specifically regarding Linux Virtulization I will assume you are referencing servers and desktops:
Server virtualization is the masking of server resources (including the # and identity of individual physical servers, processors, and operating systems) from server users.
Desktop virtualization i the masking of desktop resources (including the # and identity of individual physical desktop machines, processors and operating systems) from desktop users.
With each - The intention is to spare the user from having to understand and manage complicated details of server/desktop resources while increasing resource sharing and utilization and maintaining the capacity to expand later.
Approaches to Virtualization (linux)
There are many different approaches to virtualizing a system, each with their own advantages and disadvantages.
In a nutshell, In order to run
more efficiently, the guest
operating system's kernel is changed
out for a kernel that behaves well
in a virtualized environment.
Xen, lguest and User Mode Linux do
paravirtualization on x86.
Intel VT and AMD-V CPUs have the ability to
run all instructions in an unprivileged virtual machine, and
have them behave well. Most of the time much of the resources are emulated (like the clock) However, it allows for
a much cleaner implementation of
Xen and KVM do hardware assisted
Operating-System level virtualization - (Containers)
Containers do not run virtual machines at all, but simply segregate multiple user space environments from each other, while everything runs under one kernel. (One major reason many system administrators lvoe this is because they only ever need to patch or maintain 1 kernel vs many.) Container systems tend to have low overhead and high density, but also lower isolation between the different containers. This of course comes at a cost - as container systems only allow 1 kernel running - however they do support various Linux distributions in the different containers at the same time. There are a number of different Container systems - such as Solaris Zones, Linux-VServer and OpenVZ/Virtuozzo. OpenVZ has relatively complete resource isolation between the different containers, the other two have a bit less control. FreeBSD Jails can be seen as a precursor to containers - however Jails of course or make that BSD is not Linux.
Hopefully this helps give you a simple breakdown of Linux virtualization.
I would suggest peeking at the Proxmox Project http://www.proxmox.com/products/proxmox-ve It is opensource - and will allow you to test not only KVM but also Container based virtualization on the same system at the same time.
Be sure to comment on this writeup and vote.