These are great examples towards the fact that the relational model isn't always the best way to go. Especially with regards to an evolving model.
In object oriented models, polymorphism can be employed to extend an existing model with rather minimal impact. Introducing, for instance, a subtype for an address in a relational model isn't easily done.
I'd rather model in OO land and use the DB as dumb object store.
I haven't implemented a serious project based on an real OO database. Any experiences you guys would want to share with regards to model flexibility with an OODB?