Вы используете CALayer, когда вы не получаете никаких преимуществ от использования UIView и когда невозможно сделать то, что вы хотите сделать с UIView.
Следуя этой мысли, если ваша потребность не делаетиспользование любых элементов управления пользовательского интерфейса и / или создание собственной настраиваемой анимации (двумерная или 2,5-мерная анимация) имеет смысл перейти на уровень CoreAnimation и создать собственный CALayer, чтобы выполнить свою задачу.
Однако, если вас интересует только базовая анимация, и это можно сделать с помощью UIView, API обычно проще, поэтому будет разумно использовать UIView, чтобы сэкономить там время.