According to Wikipedia virtualization is a broad term that refers to the abstraction of the computer resources. What this means is that Virtualization is a framework by which we divide resources of a computer into different execution environments. Various techniques can be used for this purpose like hardware and software partitioning, time-sharing, partial or complete machine simulation, emulation or quality of service.
The concept of virtual memory which is now used in almost operating system is also a kind of virtualization. Basically, virtual memory is an illusion of having a much larger amount of main memory than the operating system actually possesses. It is just a concept increasing the address space of the memory.
How this virtualization helps us:
It can be used to run legacy applications. Many legacy applications might not run on newer hardware/operating systems. In such cases virtualization can be useful as old environment can be simulated on newer systems.
Virtualization can be also useful for testing purposes. It can act as a sandbox where an application is put under test (or for that matter any untrusted software).
Virtual machines can provide the illusion of hardware configuration which you do not have. It can also be used to simulate networks of independent computers.
Until recently virtualization was mainly used in data center optimization. But with the advent of virtualized servers, hardware utilization is going up. At the same time the cost of hardware is also dropping.So now virtualization is extending beyond servers. Within a few years it will definitely find its way to desktops also. Many giants like Microsoft and Oracle are also entering this field. So hope for something great in this field in near future