The history of Applets was caught up in the Browser Wars between Microsoft and Netscape and the political and business battles between Microsoft and Sun Microsystems. One of the problems of the early days was that of incompatibility. When developing an applet you had to test it against different web browsers and Java implementations. If you recall that one of the great promises of Java was write once run anywhere this was rather a severe blow. Today these issues are mainly history as the standard target for Java applets to day is the Sun Java Runtime, a way of allowing just about any browser to be enabled with exactly the same Java Runtime Environment (JRE).
When it appeared that applets might take over the web Microsoft introduced what was considered a competing technology in the form of ActiveX controls. The big criticism of activeX at the time was that it was not secure and it was possible to create a malicious activeX control that could access the users local hard disk. Also activeX controls were only available for the windows platform.