It's also great if you want to run something big - say a job that would take 5 hours. I'm free to do whatever I want without fear that killing my ssh session will also kill the job.
The monitor function can also notify you when there's activity or 30 sec. silence in a window, too. :)
1) It's obvious why you'd want this for remote sessions, and I want a consistent feel whether I'm sshing into remote machines or just on my local machine.
2) I like to allocate a different screen session for each project. I can use the Terminal.app tabs to differentiate between these and between remote sessions on other machines. I could technically use multiple Terminal.app windows instead, but meh.
One thing I've found to be annoying: I can't get gnuplot to work from within a screen window (using the default AquaTerm output).
In screen I use ^a, " to get a list of screens, then j/k to pick a screen. That may not seem like a win, but it keeps my fingers on the home keys, and feels smoother.
That and the fact that I split windows in screen fairly often means I won't go back to terminal tabs...