A terminal multiplexer is nothing more than a program that allows its user to multiplex one or more virtual sessions, so the user can have several sessions inside one single terminal. One of the most useful features of such programs is the fact that users can attach and detach such sessions.
Use Cases
Persistent Sessions
Let's suppose that you need to compile a code on a remote system, say Sol or any other *NIX server where the compilation time is a few hours maybe even days. Another example is when you have to run an interactive job on Sol that may take more than a few hours requiring your constant feedback from the standard input. If your network connection is unstable, the SSH Client or your local system quits due to some system error. In this case, your connection to the remote server is broken and most likely the compilation or interactive job. This results is loss of productivity due to restarting the job. A persistent session on the remote server would ideally circumvent any issues related to network or local system.
Note: Even though this helps to run interactive jobs, this does not mean that you should use a terminal multiplexer to run interactive jobs. Production jobs should never be run interactively, always submit batch jobs and use interactive sessions for debugging or software development.