Easy: Java is the exact right thing to use on a hardware java machine, like some embedded devices.
Java is also pretty good for doing small, fast (I know, its an oxymoron: small, fast java) programs for PDAs. Java is your friend if you do stuff for the Sharp Zaurus. Yes, you could use QT and C, but you'll fight for it every inch of the way. Java is a lot easier and faster to work with there. Java is, likewise, the right tool for cell phones, for similar reasons. Basically anywhere its cheap and easy to put the JVM in hardware, Java is the right tool. Anywhere you can't put the JVM in hardware, Java is the wrong tool.