Surrogate Key In Database Design

Discuss the concept of surrogate key in database design, from what it is to when to use it.