What Parrot will allow is the creation of simple domain-specific languages.
Not just domain specific languages, but transition paths from dead-end languages as well. You write a compiler for the old language that targets parrot and rewrite the runtime library code for it, and then you're in a position to start migrating. That's what I'm doing now for work.
Granted, this isn't the right answer in all cases--rewriting a runtime library to maintain compatibility can be a major undertaking. In many cases, though, it's easier to write a new compiler for an existing code base that targets a back end with more potential than it is to port the entire code base to a new language. (Writing compilers and their associated runtimes is a lot of work. Rewriting full application systems are often significantly more work, though, with more risk and expense)
I'll put the ObPlug here for part one of an article I wrote for OnLamp about this, but targeting parrot's not that tough.