Цикл фор, внезапно, использует итератор, это просто синтаксический сахар к нему. Также сырой итератор может быть полезен, если в процессе итерирования нужно менять список (например, удалять элементы).
Также, например, можно реализовать экстеншны типа
val Fragment.parents: Iterable<Fragment>
Или
val ViewGroup.children: Iterable<View>
, которые позволят с накладными расходами в пару маленьких объектов удобно работать с непредназначенными для итерирования сущностями.