Define Concept of Extensions
An extension is a way to add functionality to an object in D365FO without modifying the base code of that object.
Your extensions are compiled into their own DLLs, which are separate from the D365 base system libraries. It also makes it easier for Microsoft to patch their sys layer code.
Microsoft has added to allow customizations without allowing the base code to be changed because they plan to not allow any overlaying of SYS layer code.
Here are my old articles