Things changed as Netscape incorporated support for Sun's Java, and JavaScript. I suspect Java would either not have it's widespread of today, or it would have been happened in quite a slower fashion, should Netscape decided against it.
Javascript allowed for client-side dynamic behavior, and Java Applets complemented it by bringing in primitive multimedia support and new client-server UI design paradigms, limited only by the fact that to the computer-power of the time, java was too heavy and non-performant.
As the browser would progress to become the de-facto standard for most internet services, new standards have developed to allow for more possibilities: Adobe's flash took the leading in the multimedia integration, html evolved, css was created, and typography was taken into account. Jumping ahead in time, we now have html5, which even with it's advanced multimedia capabilities, is still evolving.
All this technology combined now means that the browser has access to:
- Most hardware, including 3D acceleration, microphones, speakers and such;
- Some system level APIs.
In all this time, Java Applets were present, and supported in all major browsers, as an extension, in a great deal to do low-level tasks which couldn't run under the hood of browser's sandbox.
Although Java Applet as a UI element is pretty much deprecated (which doesn't mean there aren't plently of function applications out there), developers have used it as a cross-platform method of computer-station fingerprinting, or to access hardware not exposed by browser's APIs, such as scanners, printers (low-level access), and other forms of client-server data collection.
It works well for such uses, and in some cases is the only way of doing these things in a browser (and/or operating system) independent way.
This is not without limitations: the main way of transferring data from a rich html5 application and a java applet is via LiveConnect, an old bridge which lacks support for many java and javascript evolutions, javascript's strong typed arrays being one of them.
But all of this is in an unknown paradigm-shift border right now: we can either expect java usage in browser to evolve, or, as it's more likely, to fade away completely.
Right now, Google's Chrome is the leading browser and it has faded away NPAPI, the plugin API which allowed java to work, and Oracle (the current Java owner) has not issued any comments on it's interest - or possibly lack of interest - in providing support for google chrome's somewhat-proprietary PPAPI.
Although Mozilla didn't formalized a timeline yet, it also suggested it would drop NPAPI from it's own browser, Firefox.
This leads us with a gap: are we going to see a more tight java integration possibility, bringing Java8 - and it's javascript interesting integration - to the play, or are we ending up with Java being a no-go in the browser scenario?
Time will tell.