Some of Derek Simkowiaks points are definitely valid, other I wouldn't know if they were, and some are not. I'll just respond to the ones I don't agree with.
My opinion, after having done 4 production projects with Zope and 2 tech demos, is that it's great for a braindead "just talk to the SQL database" project,
Well, yes it is. But that is still not the string point of Zope.
But if you need to write something from scratch that needs access to the filesystem, it makes more sense to just use mod_python or PHP.
If it is completely file based, then yes, but otherwise: Not at all. There is no problems in doing things that need access to the filesystem.
The lack of developer docs, plus the headache of understanding every little Zope quirk
Agreed.
and having to develop your own "best practices"
Oh, but that is something you have to do with all platforms. And the more flexible the platform is, the more you need to develop your own "best practice" because there are more ways of doing things.
makes Zope a less-than-perfect development platform (DTML Method or Document?
None at all. If you are doing something complex in Zope, the best way of doing it is to make your own objects. This is true for all OO environments, and for Zope also. If you develop in python or with ZClasses seems to be a matter of taste, and also dependant on what you are doing. All your other "either/or" examples are mostly just examples of the flexibility of Zope. That you can write python scripts wothout having to store them on disc and you still have the option of writing external scripts that can run unlimited python is IMO not a drawback, and nothing you have to make a design choice about. You do point out several of Zopes drawbacks: The docs aren't good. It is quirky. But I think there is one "drawback" you fell victim to: Zope isn't like other systems. You say that Zope works well for braindead SQL systems, and yes it does, but that comment indicates to me that you have missed out on what Zope is *really* good at: Rapidly developing complete webapplications thanks to the OO-structure of Zope. Not having to care about the braindead SQL or messy filesystem interactions, but storing things in a proper ODBM is a treat!