ORMy pozwalają na szybkie prototypowanie.
SQL pozwala na większą kontrolę.
ORMy są w każdym frameworku inne i trzeba się ich uczyć od nowa po przejściu na nowy framework
SQL jest podobny wszędzie (chociaż też są jakieś różnice między bazami danych), ale jednak nie ma tak, że od nowa się uczysz za każdym frameworkiem. Ba, nawet język programowania możesz zmienić w międzyczasie, a zapytania pozostaną te same.
SQL i tak musisz znać, nawet jak używasz ORM (nie da się chyba jechać tylko na ORM).
A możesz nie znać żadnego ORMa i jechać na SQL
SQL jest prostszym rozwiązaniem.
ORM to bardziej złożone rozwiązanie, bo ORMy ci enkapsulują cały SQL i mapują do obiektów, więc z konieczności zawierają o wiele bardziej złożone abstrakcje)
Ale za to ORM jest łatwiejszy w obsłudze, na SQL trzeba się znać.
ORMy mogą się ładnie integrować z frameworkiem, którego używasz (przynajmniej tak jest np. w Django).
SQL musisz ręcznie sobie zintegrować z kodem.
itp. jest wiele różnic w sumie.