Second problem, at least initially, I'm sure it's better now, was JVM implementations in the mid-90s were not super consistent and you'd run into runtime issues that were difficult to work around.
Are you arguing WORA with Applets worked and moved the industry forward? Flash pretty much took over this charter but even then getting performance on many devices out of a Flash runtime was pretty damn hard, so even it fell down on this.
Much better to have a shared core (if you can) and write customer-centric, awesome device-native UI experiences.
The question I find interesting in this context is - is it possible to write a rendering pipeline and UI toolkit all the way down in a garbage collected language that is performant. It appeared that we in industry have taken a step back and are now content with the bottom layer being all native. I dont know if its because the Sun UI team didnt have the right people or if the abstraction of a garbage collected high level language does not scale down to writing graphics apis.