we choose OpenACS for these reasons:
1) The framework (database structure, templating system, packages, user management, permission, FTS,... ). It's complex but really complete and sooner or later you will take advantage of it. And if you have many developers, having a framework to guide them it's a good thing.
2) The templating system, it's simple and clear.
3) The caching system, we use extensively also the cached db api by Don Baccus, even if not perfect I cannot understand why they are still not on the standard installation. Caching it's a real plus.
4) A good availability of examples and packages.
Then we adapt everything, we use almost no packages as is, but in the end we save a lot of time because almost everything we develop is a stripped down/optimized version of something already well studied and developed in some OpenAcs core or extension packages.