Most modern operating systems allow running many programs simultaneously.
There's no way to know how much ram a particular program will need, since this might depend on user actions (like opening a file). This means there's no way for the operating system to allocate a fixed chunk of ram for each process.
Since the amount of ram required by a process may change over time, you might want to leave lots of room for each process to grow.
On the other hand, RAM is a limited resource on a computer, so you want to pack the processes together tightly in ram.