I'll start by saying that I've done 95% of my database work using SQL. Recently, I did some investigation of various ORMs, such as NHibernate and Doctrine.
I can see the advantages of not needing to know much SQL and the database portability that an ORM provides. But I can also see that knowing SQL will make working with an ORM more effective and I can only think of one time in my career that an application's biggest change would be the database vendor.
Because I'm very comfortable writing SQL and am apparently not realizing the often taught benefits of using an ORM, my question to heavy ORM users is this:
What kind of Web development projects benefit the most from using ORM?
Best Answer
(Almost) all applications benefit from ORM.
First, I don't agree with the advantages you list for ORM.
Instead, the real benefits of ORM are:
As you comment, one down side of ORM is a loss of performance. However, this can usually be offset by spending more hardware.
Typically, programmer time is more expensive that hardware, so ORM is genrally a good option instead of hand-coding SQL.
ORM is best for applciations with a lot of fairly simple CRUD database logic. ORM is less effective for:
In my experience, these situations are rare. Hence my answer.