Эта конструкция сразу же вызывает функцию после создания (потому что оканчивается на () ).
Но сразу же вызываться могут только Function Expression, поэтому для того, чтобы интерпретатор подумал, что это Function Expression и позволил ее вызвать сразу же после создания, функция оборачивается в круглые скобки.
Вот здесь все подробно описано:
http://learn.javascript.ru/function-...ion-expression