I use Java all the time and I really like it. It certainly is not meant for every application (eg 1st person shooter games are a poor choice for Java development) but for creating a GUI based program it works great. There are a few things that make Java my favourite language:
1. There are TONS of books about java (several hundred, at least). Compare that with, say, Python or Ruby (not to bash either of those languages) where the number of books can almost be counted on your fingers and toes. If you are a hobbyist like me, this is a godsend.
2. IntelliJ IDEA. It is an amazing IDE that makes programing in Java much more enjoyable. I recommend it over Netbeans, and especially over Eclipse (which I have never been able to figure out).
3. The Java Forums at Sun's java developer site are incredibly rich. Whenever I have a problem I check there first and often I find someone who has asked the same question and the answer proposed by someone else.
4. Java has garbage collection. If you have ever programmed in C++ (or C for that matter) then you know what a hassle dealing with memory allocation / deallocation is. With Java you don't have any of these problems.
5. Java runs on most of the platforms out there. Programs I write on my Mac, work perfectly on PCs and Linux. There are differences in how they look on those platforms, but they still work.
6. Java is an object-oriented language. This is pretty much a must for any language these days.