I think what OP meant is, if you have a page that's backed by disk, then when you're low on RAM, the OS can simply drop that page -- it's sitting there on disk if you ever need it back. But if you have a page that's not backed by disk, then you have to write it out to disk before you can drop it.
Indeed, as jlebar notes - since the actual executable code (the thing that the CPU executes) does not exist directly in the executable file, the OS will have to write it out to the swap if it needs the memory (unlike uncompressed files, where it just reuses the memory and later reloads from the executable file).
It is rarely a big loss, because executables that are in use tend to remain in memory if the program is actually active. If you have a 300MB demon that sleeps, though, you will likely notice a swap out to magnetic disk.
Also if you have the same executable running several times on a machine, they share the RAM for the code (read-only pages, which should be most of them).
That doesn't work for UPX because each execution decompresses anew, which makes it a "new executable" from the OS' point of view.
The only thing that would help is kernel space merging, but that's really only activated for some virtual machines.
Why is this exactly?