Good question. Iframes (currently) share the process with the parent document, making it possible to DoS the page. They're also bound to a single node in the page, whereas the Workers exist outside the lifecycle of the DOM elements (and can serve multiple areas of the DOM).
The kind of gains we're looking for are the kind that you get out of unix's small programs and pipes. URLs are a fairly powerful primitive-- they can represent remote endpoints, local endpoints, and pieces of data (with data-uris). So, for instance, with some artful configuration/linking, you could have the same webapp write to local storage, remote storage, or the filesystem-- and make it easy for the user to choose, not with a premade choice, but with the ability to load software.
Program-sharing can also continue the gains made by Ajax, where you can deliver programs to the client which understand a remote service's API. For instance, if my profile links to "send-pfraze-a-message.js", you pull that down and load the interface next to your files interface, drag in the file, then hit send. Then you load "send-pfraze-a-message.js" next to your strategy game interface, drag in a battle plan, and hit send. In both cases, your existing programs didn't have to understand whatever service I use to receive messages-- they just had to bundle data for click-and-drag.