Surrogate keys are unique identifiers used in data warehouses to replace primary keys from source systems. They protect against changes to source systems, allow integration from multiple sources, enable rows that do not exist in sources, track changes over time such as new customer records for address changes, replace text keys with more efficient integers, and provide higher performance than long alphanumeric keys.