Однозначно циклы. Рекурсия сложнее читается и работает дольше.
Но это в приоритете, а бывают задачи, когда рекурсия очень сильно сокращает объём кода. Тогда, взвесив все «за» и «против» можно выбирать рекурсивный подход.
Первый и один раз в жизни, однажды, успешно реализовал в +- крупном проекте рекурсивный метод и получил краткий, но поучительный фидбек, после чего успешно переделал на цикле :)