ITerm 2 now offers deep tmux integration
groups.google.com
groups.google.com
Simply put, it's a persistent shell. If you SSH into a server, kick off a long running job, and get disconnected, it depends on a lot of factors whether or not that job completes. Generally though, you can consider yourself screwed.
Instead, if you connect to a server via SSH, then launch screen, the session is pushed or persisted to the server. You get disconnected, and you can log back in to the server via SSH and reattach to the screen. Any jobs you kicked off are still running, and you're returned exactly to where you were before you were disconnected.