Java is a very good general-purpose programming language with which you can make (almost) any software you like. However, there are other programming languages which might be better for certain kinds of jobs, because they for example help you to write your software a lot quicker or make it less complicated.
Ruby for example is becoming very popular because of the Rails framework, with which you can write web applications very quickly. The programming language Ruby has a number of very interesting features that Java doesn't have, and on the other hand has Java a number of things that Ruby doesn't.
Scala supports
functional programming. So for people who want to do functional programming, Scala is better suited than Java.
Use the right tool for the job - and there isn't one tool (Java) which is the best tool for all jobs.
In the beginning, the JVM wasn't that great - Java 1.0 was quite slow. But during the years, the JVM has evolved a lot and it's now a very good high-performance platform with advanced and efficient garbage collection algorithms. It seems like a good idea to reuse that great platform for other languages than Java.