Минус анонимности — хуже стек трейсов; для сложной логики лучше именованная function expression.
Итог
Анонимные функции удобны как одноразовые колбэки; для отладки и рекурсии имя полезнее.
В стеке ошибок анонимные функции выглядят как anonymous, поэтому для нетривиальной логики лучше именованный expression: arr.map(function double(x) { return x * 2; }). После ES2015 стрелки вытеснили многие анонимные function, но смысл тот же — одноразовый колбэк без отдельного объявления в scope.
Типичные сценарии использования анонимных функций в JavaScript · Sobeso