Java is Sun's attempt to create a programming language, a GUI builder and a network-standard executable format - all in one! More information is available at Sun's Java site.
Despite Sun's claims to the contrary, Java fills just one one niche - providing a programming interface to a Web browser. It is not suited to be a general purpose programming language, nor do its claims to be a "network-standard executable format" mean anything since it is fundamentally unable to support key features such as pointers. Without some major changes (which Sun might make), you will never be able to just compile a C program into Java.
On the other hand, the niche it does fill is real. If Web designers get ideas about nifty user interfaces, Java is about the only place to turn for functionality not found in HTML. I've got an idea for Web pages devoted to important military battles. On the home page for each battle, I'd like to have a map of the battleground, with units labeled and colored. With button clicks, the reader can "play" the battle forward, "rewind" it, and "single-step" through it, hour by hour. One way to do this is to write a Java script that can draw a map, handle the button clicks, and be programmed with a unit/time/position matrix. The map and position matrix should be referenced by URLs, so that a single Java script can handle multiple battles. Java is the only thing that can really do this right now.
Java has both pros and cons, but overall I think it's a good thing - if Sun doesn't get carried away by their own marketing hype.