An extensible application is one that you can extend without modifying its original code base.
By designing an extensible application, you provide a way to upgrade or enhance specific parts of a product without changing the core code.
See also:
It's what characterized a famework (versus a library)
An extensible application implements a mechanism of extensions with:
that allow to extend it without modifying its base code.
A extension point declares a contract:
that extensions must conform to.
Plug-ins that want to connect to that extension point must implement that contract in their extension.
By adding a the plugin code implementing this extension points new functionality are added.