Função Init em javascript e como funciona

Muitas vezes vejo o seguinte código:

(function () {
  // init part
})();

mas nunca consegui entender como isso funciona. Acho os últimos colchetes especialmente confusos. Alguém poderia explicar como funciona em termos de contextos de execução (EC) e objetos variáveis (VO)?