Enhancements consist of doors in the SAP code where a developer can intervene and change a transaction logic by implementing her/his own piece of code. Several types of enhancements exist which all require ABAP programming skills.
In addition a good understanding of how various enhancements are linked together, which enhancements to use, and how to activate/deactivate some code on the spot are key elements when going that track.