Я думаю, что важным фактором является уровень комфорта разработчика.
Вероятно, верно, что использование transform или for_each - правильное решение, но оно не более эффективно, и рукописные циклы по своей природе не опасны. Если разработчику потребуется полчаса, чтобы написать простой цикл, а не полдня, чтобы получить правильный синтаксис для transform или for_each и переместить предоставленный код в функцию или объект функции. И тогда другие разработчики должны будут знать, что происходит.
Новому разработчику, вероятно, лучше всего научиться использовать transform и for_each, а не циклы ручной работы, поскольку он сможет использовать их последовательно без ошибок. Для остальных из нас, для которых написание циклов является второй натурой, вероятно, лучше придерживаться того, что мы знаем, и лучше познакомиться с алгоритмами в свободное время.
Скажем так: если бы я сказал своему боссу, что провел день, превращая петли ручной работы в for_each и преобразовывая вызовы, я сомневаюсь, что он был бы очень рад.