Most of the other comments mention that you can split your screen into tabs and panes. But by far the most important feature of gnu-screen or tmux is the ability to have a shell session running even when you're not logged in. So you can use tmux to start a shell session and run a script(say a command line IRC client) and leave it running. Next you'll just 'detach' from your tmux session and can logout. Your irc client or any number of scripts you started from your tmux session will still be running. You can relogin later and 'attach' to that session and you'll continue where you left off. Infact you can start a tmux session on the server in the office, detach/logout and go home and attach to the same exact screen from home, that you left in the office.
Not to mention you can share your command line shell session/screen with other people!!
This is the best feature of tmux. It's worth pointing out here though (in a post about making the terminal act like an IDE), that you can split the terminal into two panes so you can have an editor and a REPL open at the same time similar to many IDE's. There are even some projects that make it easy to pass code between the editor and the REPL in the other pane, though I have never gotten them to work very well.
vim (and emacs) can do that without the need for a terminal multiplexer (though in vim you need to use a "plugin" for it, or, at least, you used to, and I'm sure the new async functionality in vim 8 has improved the experience quite a bit)
I figured out running screen at the beginning of pretty much every ssh session probably freshman year of college, and it kind of shocks me to hear that people don't regularly do that.
tmux is like structured LSD, opening terminals to the Universe in unlimited instances and recursions of Sessions and Windows and Panes, and Windows and Panes, Panes, Panes ... Panes ... Multiple realities of Sessions can be started, persisted, detached, reattached, and can exist on your local laptop, another machine on your LAN, or school or corporate network, or the Space Station or Mars, all spanned by your one mind and The One Mind.
Maybe my favorite feature of tmux, which I don't see mentioned here, is that I can configure it to start up in a certain way.
Using tmuxinator, I might set up a config for a rails project, for instance.
That way when I start tmux I get a vim editor in one window, a bash prompt in the next (for git), a rails server in the third, tests in the fourth, maybe another process in the 5th like sidekiq or something if required. Note, these (tmux-)windows all live inside of one terminal window.
So once you spend about 2 minutes writing that config, you can always start up your environment with tmuxinator start project-name and a few seconds later you're good to go.
The most useful feature of tmux for me is the ability to switch between different projects effortlessly. Within a session i would have multiple windows, one for each project. Within each window i would have one pane for editing code and another pane running a development server. If you've used macos multi desktops you can think of a session as a macos machine, a window as a desktop, and a pane as a application window. And everything is persistent so you can detach from the session and reattach and all your windows and panes will be there as you left it.
A terminal mux. Mux is short for multiplexer, which chooses between different inputs. It is a tool for running keeping multiple terminal sessions open at the same time. These sessions can be attached and detached from, which is often helpful when working on a remote machine you may want to access from different work stations.
The more you use the terminal to do complicated stuff, such as managing screens, the more you actually offload part of the work to your brain. You have to remember mapping, positions, transitions, and think every time you interact with them. This cognitive load takes CPU cycles from your brain instead of your machine, which is then not available for your current task, and of course it tires you more on the long run
That's why, while I use VIM when I have to, I much prefer the technology to handle automatically whatever it can. Like maintaining states, making them obvious and offload any fruitless decision making.
Iterm2 also has a nice tmux integration. You can connect to a session but use native tabs and panes. It even works on remote servers over ssh. You just add a '-CC' arg. (You may also have to enable it in the prefs, don't remember for sure)
It also allows you to "split" your terminal into multiple tabs, panes and windows, which makes it easy to hop back and forth between sessions in multiple environments. As others have said though the killer feature really is that you can run it on a remote machine and attach and detach at will.
Not to mention you can share your command line shell session/screen with other people!!