Extension
An extension is a morphism that builds something bigger out of something smaller by adding new structure. It requires objects to extend between, and composition to chain extensions together.
Extension preserves structure — everything the original had is still there in the extended version. You can always recover the original by forgetting what was added. A forgetful functor does exactly this: it strips the added structure and gives you back what you started with.
Extension is dual to restriction. Extension adds structure; restriction removes scope. They are opposite directions along the same relationship. In many settings they form an adjoint pair — extending and then restricting, or restricting and then extending, satisfies a universal property.
The Kan extension is the most general form: it extends a functor defined on a small category to a larger one, agreeing with the original wherever both are defined and doing the best possible job on the new objects.