Applets are Java programs that are embedded within web pages. They are executed remotely by Java-enabled browsers and allow web pages to be interactive and dynamic. Applets have limited access to resources for security reasons. They have lifecycle methods like init(), start(), stop(), and destroy() that are called at different points in the applet's execution. Creating an applet involves subclassing the Applet class and overriding methods as needed, then embedding the applet in an HTML file using applet tags.