1) Код на ORM обычно сильно компактнее.
2) Там, где ты вынужден вернуться на уровень SQL, там ORM ничего не добавляет - ты просто возвращаешься к старому "доброму" SQL с параметрами, ручными преобразованиями, кучей "хелперов", и т.п. То есть к тому наилучшему объему кода, который ты можешь сделать без ORM.
3) Компиляция очень даже при чем, т.к. без ORM у тебя много шансов сделать ошибку в SQL и выявится это только при запуске. А на этапе компиляции ORM тебе, например, подскажет, если ты где-то дату со строкой решил сравнить (ну, к примеру), или просто пытаешься к отсутствующему свойству обратиться или опечатался. Собственно, это выявится еще ДО компиляции - в IDE, фоном.
4) Если вы тратите много времени на борьбу с ORM, значит, вы его применяете неправильно или там, где его применение не оправдано. Борьба с ORM должна занимать не больше процента вашего времени разработки. Типа, три дня в году на команду из 5 человек.
5) Многие рефакторинги делаются практически автоматом и порождают миграции, которые не нужно править, только короткий review (который всегда нужен).