Без него это бы не сработало, как я понимаю
но это если смотреть снизу, с уровня моря))
если смотреть сверху, с уровня облаков, то профит пьюр функций в ином: ты можешь использовать их прозрачность для кешрования, например у тебя есть стандартный пайплайн для пользователя, который делает в его контектсте func(a)->func(b)->func(c). Представь что вдруг поведения пользователей стало одинаковым (ну там, все вдруг начали читать за короновирус) и в таком случае у тебя вызов функций конвейера в 90% будет одинаков для разных пользователей. Так вот если функция прозрачна и у нее ссылочная прозрачность, то можно изи держать для каждой функции кэш из топ 10 значений и тут ты просто выдаешь этот кэш на выход и все, не делаешь рассчеты внутри функций