Вопрос проверяет понимание разницы между синхронным и асинхронным обновлением UI.
Текстовые поля обновляются синхронно и сразу получают новое значение. Изображения же чаще загружаются асинхронно, с задержкой. Пока изображение загружается, ячейка может быть переиспользована. В результате старый результат приходит в уже новую ячейку. Именно асинхронность делает изображения проблемным местом.
Разница в поведении текста и изображений связана не с типом UI-элемента, а со способом обновления данных.
Текст обычно устанавливается сразу.
Значение доступно синхронно
Обновление происходит мгновенно
Старое значение сразу перезаписывается
Даже при переиспользовании визуальных артефактов почти не видно.
С изображениями почти всегда используется асинхронная загрузка.
Запрос уходит в сеть или кеш
Ответ приходит с задержкой
Ячейка за это время может сменить данные
Из-за этого изображение «живет» дольше, чем модель, для которой оно было запрошено.
Изображения тяжелее текста.
Дольше загружаются
Чаще кешируются
Могут декодироваться в фоне
Все это увеличивает вероятность рассинхронизации.
Проблема не в UIImageView, а в асинхронной природе загрузки изображений. Текст обновляется сразу, изображения — нет, поэтому именно они чаще всего ломаются при переиспользовании.