À quoi sert une fonction auto-exécutable en javascript?

En javascript, quand voudriez-vous utiliser ceci: (function(){ //Bunch of code... })(); sur ceci: //Bunch of