to me, parrot seems frivolous and unnecessary
You've not spent any time dealing with perl 5's VM, then. The current virtual machine (and it is a virtual machine, make no mistake there) has a number of... issues that make extending it, changing it, or otherwise doing much to (or with) it really painful. This is in part because of some issues with the original design, and in part because of seven or eight years of continuous hacking on it by a wide variety of people.
Just because the JVM (and the .NET VM) made some fairly fundamentally bad design decisions doesn't mean that all VMs are bad. (And I'm interested in what similarities you see, as there's almost no overlap at all, from an architectural standpoint)