Es gibt keinen Sinnunterschied zwischen "puis" und "ensuite". Beide bedeuten "dann", "nachher".
Das bedeutet aber nicht, dass sie einfach austauschbar sind.
Ensuite kann an verschiedenen Stellen im Satz vorkommen. Puis kann nur am Anfang einer Satzsequenz stehen:
Il m'a demandé ensuite si...
Puis, il m'a demandé si...
Ferner sagt man puis, nicht ensuite, wenn kein vollständiger Nebensatz folgt:
D'abord je mange, ensuite je vais jouer avec mes copains (vollständiger Nebensatz). Pus ist da auch möglich, klingt etwas gehobener.
aber:
D'abord nerveux, puis stressés, les Allemands ont perdu le match (kein vollständiger Nebensatz). Ensuite ist da ausgeschlossen.