• I think SqlVogel has primarily nailed the technical part of the answer. I'd add one more reason for using a primary key over just using unique constraints. Clarity. By defining the PK, everyone going forward knows what it is. When they create a new table and have to establish a relationship, they'll know what to use. When people have to write queries, they'll know what you intended to be the primary key. Just simple clarity.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning