Java Applet
 
Java Applet runs inside a Java plugin in the explorer. In IE, the plugin is a kind of ActiveX. Please see the diagram.

 
 
Hoever, in firefox, it is a plugin implemented by Gecko SDK(npapi), please see,
 


  
Strong Points
 
Across the platform, the applet can be explained in IE and Firefox, Windows and Linux/Unix.
 
Shortcoming
 
Not each user has the JRE installed.
 
 
Flash
 
Flash is like applet, it is also an ActiveX plugin in IE and Gecko SDK in Firefox. But it should be more related to Multi-Media(HTTP GET and POST is also used inside flash) while Applet has more API available to do anyting. Please see the diagrams in IE and firefox.
 


 

  
Strong Points
 
Across the platform, the flash can be played in IE and Firefox, Windows and Linux/Unix. There is no enough API do some rich operasions compared to Appllet(java)?
 
Shortcoming
 
Not each user has the Flash Player Plugin installed.
 
 
ActiveX/Gecko SDK Plugin
 
They are the real explorer plugins. Actually, the JRE plugin and Flash Player Plugin are also kind of ActiveX or Gecko SDK Plugin themself. They explain the Applet or the Flash.
 
IE/Firefox ------>> ActiveX/Gecko SDK Plugin
IE/Firefox ------>> JRE plugin ------>> Appllet
IE/Firefox ------>> Flash Player Plugin ------>> Flash
 
 
Strong Points
 
More flesible since they are the real plugin programmed by C++ both in IE and Firefox usually.  
 
Shortcoming
 
You need to implement different for IE and Firefox. For IE, you need use Windows/COM API. For Firefox, you need use the Gecko SDK/npapi.