MakeExpression is used whenever boxes are supplied as input to Mathematica.
The boxes that are fed to MakeExpression are constructed from textual input by forming tokens, then grouping these according to standard Mathematica operator precedence rules, stripping out spacing characters. StyleBox and other objects not intended for interpretation are removed. »
Definitions you give for MakeExpression will override built-in Mathematica rules for processing input.
Giving input prefaced by \! makes Mathematica effectively perform MakeExpression.