Entity Identity and Surrogate Key Design

Why I moved from natural keys to surrogate keys, and why that change made both database design and application code easier to manage.