My understanding of Perl 6 is that the perl code will be compiled to a byte code and run in the VM runtime. The idea is that the vm will be able to run just about any language that can be thrown at it given that there is a parser available.
That looks like a pretty accurate description of Parrot's goals, but Perl 6 has a separate set of goals (which are, naturally, not entirely nailed down, and subject to change). One of those is that it should be a language that can, and hopefully does, have multiple implementations. This means the implementation is no longer the spec, as it essentially is for Perl 5.
The idea has led to many interesting developments. One of the directions that I've recently been excited about is the 6-on-5 stack. That is, an increasing number of bits and pieces of Perl 6 running on Perl 5. There are a lot of benefits I can see to this, and the approach seems very logical and sane. There are already fruits borne of the effort, too, which is a very good sign (for example, see Moose).
All in all, while the Perl 6 road has been rocky, I think in the end it will produce some good stuff.