На самом деле, эти типы кодов распространены в языках, поддерживающих объектно-ориентированное программирование.
Наиболее вероятная причина в том, что при правильном сочетании с иерархией классов и наследованием одна строка сокращает количество операторов if-else к лаконичному синтаксису, как вы упомянули. Я предлагаю вам изучить стили объектно-ориентированного программирования, особенно полиморфизм, чтобы понять этот вид кода.