The JVM being well-specified is what allows other languages (like JavaScript) to be compiled to run on it. It also makes it easier to extend.
Rhino on JVM has the advantages of having access to any java library you want (sun distributes many standard ones, and there are tons of other open-source ones on the internet). Another advantage is that the JVM does hotspot optimization which leads to speed improvements. Most other interpreted languages, such as Ruby or Python, are not as far along with their runtimes.
As for Java vs. scripting languages, that's a matter of taste. In my experience the way to minimize bugs is to write less code, and I explained above why Java programs tend to be verbose, so I believe the benefits of terseness in scripting languages outweigh the benefits of static typing in Java.