Обычный цикл for стоит использовать вместо цикла for-each в ситуациях, когда нужно контролировать индекс или выполнять сложные итерации. sky.pro Например, когда необходимо работать с индексом элемента во время итерации по коллекции. stackoverflow.com
Цикл for-each целесообразно применять, когда нужно просто пройтись по всем элементам коллекции или массива без необходимости отслеживать индексы. sky.pro Он упрощает код и делает его более читаемым. sky.pro
Также цикл for стоит использовать, если внутри цикла нужно удалить некоторые элементы из коллекции, так как в этом случае классический цикл for позволяет уменьшить итератор после удаления элемента из коллекции. stackoverflow.com
Выбор между циклами зависит от конкретной задачи и предпочтений разработчика.