What is the difference between the substitution principle and Thevenin theorem?
SUBSTITUTION THEOREM:

If the voltage across and the current through any branch of a dc bilateral network are known, this branch can be replaced by any combination of elements that will maintain the same voltage across and current through the chosen branch.

As long as terminal voltage and current is same, accordance with substitution theorem, you can substitute whatever in the branch. Here is an example that demonstrate how it works.
THÉVENIN’S THEOREM:

Any two-terminal dc network can be replaced by an equivalent circuit consisting solely of a voltage source and a series resistor.

You have asked an important question indeed. Thévenin’s equivalent circuit has a series resistor but in the second circuit diagram I have only used a source and in the third I have used both (more possible). Both are accordance with substitution theorem.It means one can replace a branch with any combination of elements which is not true for Thévenin’s theorem.For the marked branch in the main circuit if you use Thévenin’s theorem you will get Vth or Eth = 0V and Rth =3 Ohm. This is because Thévenin’s theorem doesn’t care about rest of the network or the load resistance but substitution theorem does. Without the whole circuit substitution theorem is not applicable but in Thévenin equivalent circuit the load resistance may vary.