¿Cuál es el propósito de una función de ejecución automática en javascript?

En javascript, ¿cuándo quieres usar esto? (function(){ //Bunch of code... })(); Más allá de esto: //Bunch of