I generally agree with you.
For most projects out there the real question is whether the team can handle the project using x and y and z technologies. The real question is the competence of the team, whatever technologies used! A competent team can definitely handle a project even with quickbasic!
A few points:
- ORM is useless without cache. Don't use it if you can't cache.
- Most "sites" are read-mostly. So you need cache no matter you use ORM or not. MySpace and Facebook both don't use ORM, but they have big caches (based on Memcache). In many cases, caching is the cure for 90% of your problems ;-)
- Big data model: ORM, big data or shity database design: no ORM! Basically if the "O" is more in your project then go with an ORM. With the "R" is more go with the pedal-to-the-metal jdbc. A tool such as iBatis sits in the middle of that range.
- The main reason MySpace uses iBatis is their denormalized and hard to map set of databases. Hibernate could handle MySpace well, using a cache, just like it does now. By the way MySpace is .Net based after all ;-) I know some of google's projects use Hibernate, they even contributed Hibernate Shards project to Hibernate, and it's a very interesting project.
- Don't assume people know SQL. Neither SQL nor HQL or whatever are easy.