that's a nice post, vmusic, and i disagree with only one small point -- that business entities don't usually have natural keys
departments have names, you'll never see an org chart with two HR departments, and if you do, they're the head office HR department and the branch HR department, not the same name after all
orders have order numbers, we've all seen them, order number LXB10010 or order number 200452 or order number 73JAN2005
employees have employee numbers, and how many times have you implemented a database which uses the company employee number? all the time, and even if you might also declare a surrogate key in addition to the employee number, you still have that nice unique employee number
have you ever merged two companies? needed to add the employees of one subsidiary's payroll system to the payroll system of the parent company? did you have employee number collisions? did the surrogates help? i didn't think so
my experience is the opposite, business entities have lots of natural keys
perhaps you meant that they don't often have
ideal permanent, universally unique natural keys
surrogates don't always solve those problems either