Pro:
More well-tested than ZODB and MiddleKit.
Relational databases are based on solid mathematical foundations (relational algebra, set theory, etc.), but OODBMS have no such theoretical underpinning (Link to comments by Fabian Pascal).
Full control over relations, transactions, etc.
All queries are programmer-written and optimized, and by reducing the number of queries you give the RDBMS more opportunity to do optimizations
You can leverage the database's abilities to cache and store information compactly
Con:
Non-Pythonic: requires you to translate your objects and manipulations to/from SQL statements
No layer of abstraction between the database schema and the Python interface -- if you change the schema you must change all the Python code unless you create your own abstraction layer or use views more, either of which is highly recommended
Queries are programmer-written and optimized, which means more work
It is difficult to cache results (though the database does caching of its own)
Some operations are difficult to do in SQL
-- MikeOrr - 31 Dec 2001 -- EdmundLian -- 03 Jan 2002 -- IanBicking - 04 Jan 2002