Data virtualization is an umbrella term used to describe any approach to data management that allows an application to retrieve and manipulate data without requiring technical details about the data, such as how it is formatted or where it is physically located.
You are probably familiar with the concept of data virtualization if you store photos on the social networking site Facebook. When you upload a photo to Facebook from your desktop computer, you must provide the upload tool with information about the location of the photo -- the photo's file path. Once it has been uploaded to Facebook, however, you can retrieve the photo without having to know its new file path. In fact, you will have absolutely no idea where Facebook is storing your photo because Facebook software has an abstraction layer that hides that technical information. This abstraction layer is what is meant by some vendors when they use the term data virtualization.
The term can be confusing because some vendors use the labels data virtualization and data federation interchangeably. They do, however, mean slightly different things. The goal of data federation technology is to aggregate heterogeneous data from disparate sources and view it in a consistent manner from a single point of access. The term data virtualization, however, simply means that the technical information about the data has been hidden. Strictly speaking, it does not imply that the data is heterogeneous or that it can be viewed from a single point of access.
See also: virtual database