Чаще всего, слова уровня А — плохо, используй Б
идут от одних дураков, которые по глупым причинам придерживаются только одной технологии и от вторых, которые наслушались первых. ORM, конечно, гораздо медленнее прямых запросов, но решает много проблем, не только перечисленные вами, но и сводит количество возможных ошибок разработчика к минимуму и экранирует передаваемые данные, защищая от инъекций и прочих атак. Последнее придется реализовать в любом случае, если ваше приложение работает с клиентами. Реальный смысл отказаться от ORM есть, если ваша база нужна исключительно для внутренний логики
Обычно орм используют на стартапах, пока объем данных не появился, потом возвращаются чуть ли не обратно к хранимкам. Вообще не вижу юз кейса для орм где-либо, кроме новых проектов, когда нужно сделать быстро мвп, либо в микросервисах, которые состоят из не более чем двух таблиц, т.к. там орм вполне может решать большинство задач. Метод save ещё полезен у орм, хотя у того же typeorm он с подводными камнями, вроде все. От ошибок орм защитить не может, от ошибок защищают знания и опыт. Сам я использую орм, просто на текущем проекте в большинстве мест орм справляется, но в некоторых местах уже отказывались из-за соображений о производительности, там перешли в итоге на нативный модуль.