A plug-in in Eclipse is a component that provides a certain type of service within the context of the Eclipse workbench. By a component here I mean an object that may be configured into a system at system deployment time. The Eclipse runtime provides an infrastructure to support the activation and operation of a set of plug-ins working together to provide a seamless environment for development activities. Within a running Eclipse instance, a plug-in is embodied in an instance of some plug-in runtime class, or plug-in class, for short. The plug-in class provides configuration and management support for the plug-in instance. A plug-in class in Eclipse must extend org.eclipse.core.runtime.Plugin, which is an abstract class that provides generic facilities for managing plug-ins.
Almost everything you see in Eclipse actually is implemnted as a plugin - just take a look at the plugin folder of an eclipse installation.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Eclipse isn?t a single, monolithic program, but rather a small kernel called a plug-in loader surrounded by hundreds (and potentially thousands) of plugins. Each plugin may rely on services provided by another plug-in, and may in turn provide services on which yet other plug-ins may rely. This modular design lends itself to discrete chunks of functionality that can be more readily reused to build applications not envisioned by the original developers.
Originally posted by Jeanne Boyarsky: Interestingly enough, Eclipse isn't even a Java IDE. All of the java specific code is plug-in(s) too.
As stated in the Eclipse Platform Technical Overview (2001), Eclipse is "an IDE for anything, and for nothing in particular".
Eclipse is most well known as a Java IDE, but it can be used as the basis for a wide variety of applications (both IDEs and non-IDEs). The Eclipse Rich Client Platform (RCP) initiative is directed at using the Eclipse framework for creating applications.