>Also, there are cases- some reference tables for example- where there are no natural keys and enforcing natural keys would be weird.
Theoretically, I'm not sure that's true. There has to be "something" about each row (even if it's a description) that logically constrains the row as unique.
(Or maybe this is just a matter of semantics)