Java is being empowered by the frameworks and enterprise packages provided by Sun.
I'm a big fan of Java because I love its syntax, I like how it enforces OOP and good practices (like checking exceptions). But, I've always wondered why there isn't so many applications written in Java. However, I was proven wrong when I entered the I.T business. It seems like most major and big companies use Java Enterprise Edition (Java EE). Java EE provides a reliable platform to deploy big enterprise applications, many frameworks have been written to develop enterprise services with Java EE (Banking systems, publishing, pharmaceutical).
On the other hand, IMO, Java desktop edition (Java SE) doesn't have the same popularity. Most end-user applications (word processors, email clients, browsers, games, ...etc) are usually written in other languages (mostly C/C++). The reason behind this is that C++ compiled applications (exe) are faster to execute in limited end-user machines (your desktop or laptop). Java executables are binary codes that need to be executed by a Java Virtual Machine making it slower to run.
To summarize:
Java: Use it for big and huge Information Systems. If you are looking for a job. Learn about Java EE (Learn about EJB, Application Servers - jboss,tomcat,glassfish). Java is also popular in Mobile applications
C++: If you want to write fast executable applications (e.g. heavy games, browsers, word processor, OS :), ...etc). If you are looking for a job for Games development company, learn about this