A computer system needs a main memory to execute programs but it is too small, so it requires a secondary storage to back up main memory and hold programs and data when power is lost. Secondary storage provides additional space for programs and data beyond what main memory can hold and ensures data is not lost if power fails.