The run-time stack stores information needed for function calls such as return addresses, parameters, local variables, and CPU register states. It allows for recursive calls, variable parameters, and passing data between the caller and callee functions. The stack grows downward on x86 processors, with the top of the stack represented by the stack pointer register (SP).