In my opinion, Terminator gives you the most optimal solution for this problem by giving the ability to split a single shell screen into multiple shell screens. It becomes an unavoidable annoyance when you open up more than 3 tabs. Tabs are great but keeping track of which application is running in which tab and switching between them accordingly can be a real pain. Most traditional shell clients attempt to address this requirement by providing tabs.
For example, very often I fire off my IDE from one shell instance, run my Maven builds in another shell instance, interact with SVN from another shell instance and browse the local file system from another shell instance.
As a software developer I usually have to work with multiple applications and multiple shell instances at the same time.