Before virtual memory, physical memory had to be contiguous and memory management needed to minimize external fragmentation.
With virtual memory, physical memory for a segment no longer has to be contiguous.
So the problem of fragmentation of physical memory goes away!
New Problem: Each segment of virtual memory must be contiguous in the virtual address space of a process.
This is not a problem for most segments, but it is a problem for the heap.