В чём преимущество разработки интернет-магазина на laravel по сравнению с движками?
Фрейм нужен, если цель — постоянная доработка под задачи бизнеса:через 3 месяца прикрутить совместные покупкичерез 6 месяцев прикрутить оптовую системучерез 9 месяцев внедрить внутренюю ЦРМчерез год связать с внешним коллцентромчерез 1,5 года перевести систему с 1С на своючерез 2 года -- сделать 2 мобильных приложениячерез 3 года -- внедрить партнерку и прочеевнедрить мультигорода с разной ценой и менеджерскими кабинетами и разными  программами
... поняли вектор? Если бизнесу нужно решение задач, будет много узких и широких интеграций и изменений, если есть ИТ-отдел (или внешний, не суть), который постоянно бы работал с одной системой, то всем кодерам было бы очень глупо изучать ЦМС и костылять или ее перепахивать, особенно глупо это делать, если собираетесь брать профи... я даже не представляю "возьмем 3 мидлов и 1 сеньора и возьмем ЦМС :)"
Вот пример — целая система (опт, совместные покупки, и куча всего), где интернет-магазин лишь внешняя часть айсберга... фрейм вроде Джанго тут
и сложные сущности:
https://star-tex.ru/tkani_dlya_odezhdy/zhakkard-at...Почти всегда нужна ЦМС
А вообще магазин и правда сейчас лучше сделать на ЦМС, если это не масштабная какая-то система... ТЕм более большое количество бизнес-задач современные системы закрывают.
Если нужно разово сделать и чутка допиливать... ЦМС подойдет, но как-только захотите сделать АПИ (как я сейчас), то 10 раз матюкнетесь (у меня выбора не было, бизнес (в котором работаю)  и сейчас морально на фреймворк не готов, и бюджета нет и компетенций), и опять же — в некоторых ЦМС REST тоже уже в коробке есть
Бизнес сам поймет, когда ему не подходит ЦМС, как правило когда у руководителя компании появляется портянка бизнес-планов и задач и появляются компетенции, то фреймворк и ИТ-отдел нарисовывается довольно естественным способом.
1) недостаток _всех_ магазинных движков - в их универсальности и (как следствие) - тормознутости.
2) недостаток _всех_ магазинных движков - в том что они почти никогда не удовлетворяют клиента на 100% и все-равно приходится туда лезть 
3) чужой код (который ни разу не документирован) и зачастую просто кошмарен (особенно какие-нибудь модули opencart). То есть надо очень плотно влезать в изучение движка, модулей. Если вы берете "готовое решение"  - это ваще пиз@#$.
Идея что вы берете готовый магазин и он из коробки начинает работать - заманчива но на практике такого не бывает, его надо пилить и пилить. То есть более-менее адекватное решение при работе с опенкартом - весь фронт сделать заново, оставить кабинет продавца.