Programs expect a large, continuous block of memory to work in, but physical memory is limited and shared among many programs at once. Virtual memory gives each program its own private, orderly view, which the system maps behind the scenes onto whatever physical memory is actually available.
When physical memory runs short, less-used portions can be set aside on disk and brought back when needed. This lets more run than would otherwise fit, and keeps programs isolated from one another, though leaning too heavily on the disk fallback slows everything down.