function(root, factory) { … }
Это определение анонимной функции-выражения (для этого всё обрамлено в обычные круглые скобочки).
Дальше идёт
(this, function() { … }
это вызов этой функции. this по-умолчанию ссылается на глобальный объект, т.к. window.
exports — глобальная переменная, оговоренная в стандарте
CommonJS. Она необходима для экспорта функций из модулей (AMD тоже нужен для модулей).
root и factory — это аргументы, передающиеся при вызове. root'ом будет this, а factory — функция.
По сути эта анонимная функция нужна для поддержки экспорта функциональности модуля в различных API модулей.