I've been using identity for years and seriously considering replacing identity number with UNIQUEIDENTIFIER. It's a nightmare when you need to change the data type if someone has designed it to be a compact db and nightmare if you need to add identity to a column, also, you can't update identity column. Imagine you put an int and your database grows beyond 2billion records, again nightmare to change (consider FKs)! Changing anything with identity is a nightmare and is not scale friendly unless you put bigint! UNIQUEIDENTIFIER vs Identity = convenience and robustness vs maybe noticeable performance improvement (didn't do the benchmark).
Update: After I've seen thisthis I definitely lean toward UNIQUEIDENTIFIER. This shows no real benefit of intbigint identity and a bunch of benefits for UNIQUEIDENTIFIER! Different versions of SQL Server could have a different result. There is just beauty in having a unique id across all databases and systems (robustness)! Move, copy, transform data as you please! https://www.mssqltips.com/sqlservertip/5105/sql-server-performance-comparison-int-versus-guid/