Для чего в JS существует IIFE (Immediately Invoked Function Expression). За всё время я нашёл только одно применение - это записывать работу функции в переменную. Это и есть весь смысл?
IIFE несмотря на то, что этому придумали особое название и написали какие-то там уроки, в сути своей исходит из самой логики языка. Это не какой-то отдельный специальный синтаксис. Функция может быть выражением, выражение может быть функцией, можно попытаться вызвать что угодно, если это "что угодно" окажется функцией - оно вызовется. Сочетание этих факторов и породило IIFE, никто специально его для чего-то не выдумывал и не вписывал в язык.