-1 to you and all ____ who vote up this idea. Let's try to think with brain, not ass: nautilus has tabs because we need some instances of it to copy between them. But in this case you better remember about virtual desktops.
Only shells should have tabs, in my humble opinion -- and even that is a bit much :)
(Thankfully for web browsers, they kind of are shells... although none of them do that job well yet thanks to their obsession with downloading things to /tmp before sending them to applications for opening).
The window list is your tab bar. Someone who has time set aside to tab-ify a program should instead take that time to write a more compact, organized window list applet that keeps things sorted by application.
I was working on it but got hooked on a two dimensional desktop scripting engine instead ;)
One problem with putting tabs in everything is that the pager widget in GTK (or really any existing GUI toolkit) is designed for switching between a small number of distinct pages of information such as Fonts and Background in the Appearance preferences. The widget does not do well with large numbers of tabs and does not have anything particularly fancy for dragging them. As a result, every application that implements a tab bar inevitably has some new, exclusive way of handling them unique to that application. For example, in Empathy you can drag a tab out of the window to detach it into a new window. You can not do this in Gedit, or Epiphany, (or Firefox).
The problem here will only get worse if applications continue obsessing over tab bars. What they need to do is build on what exists to accomplish friendlier, more consistent user interfaces that fit together.
And I doubt a document tab bar will happen in GTK either because this widget toolkit is sane. The toplevel behaves exactly like the tab you want, except it has a whole other dimension of organization. You can stack them, move them left and right or up and down. You can "detach" them by moving them to other workspaces, they have Close and Minimize buttons, they can be searched and the window manager can rapidly add new functionality - like docking - without any trouble.
I think tabs are useful in all applications where you use several documents at once. Except maybe for office applications which are overloaded with toolbars and controls already.
An alternative would be to add a "Window" menu as in OpenOffice - but the problem remains: If you open 10 PDFs at once, you can hardly find your other windows. And you don't have the nice switching shortcuts Ctrl+PgUp / Ctrl+PgDn.