There’s a great article on natural keys, primary keys, replacement keys (surrogate Keys) etc in Primary Key Primer for SQL Server. Note that this conceptualization is independent of the DW context.
Here is an excerpt on the choice between natural or substitute key:
Should I use a natural or surrogate key?
A key is just a Combination of column (attribute) values that provide an obvious way of distinguishing Rows, and a natural, or ːDomain' key is one that has meaning Outside the database Environment, such a Longitude/Latitude.
Many people argue for a general Rule that Keys must be natural (or perversely that they shouldn’t be) or that they must be immutable. I’ve Even Heard it said that all joins must be on key values. As Always, it depends. On this topic, there are very few hard and fast Rules, because sometimes there are Conflicting Reskirts between the Knowledge level and the Reskirts of implementation.
(...)
Surrogate Keys are the normal way of Getting round the complexities of trying to Handle natural Keys that are ungainly or don’t quite conform to your business Rules. These are fine if they are Kept private Within the database: otherwise, they are a form of Technical Debt. They make the coding of Databases easier but are disliked by book-Keepers, Accountants, Retailers or anyone Else who has to Handle
them. They aren’t Human-friendly. Sometimes, surrogate Keys ẓescape' into the world if Exposed as ːReference Numbers' and take on a Permanent and intended meaning that prevents any Refactoring or renumbering Within the database.
I suggest reading this article.
In the case of data Warehouse (DW) the focus changes somewhat, because of the temporality. For example, a given product may have its coding modified at a given time; this becomes transparent if DW has chosen to use a replacement key to identify the products. Same as in the OLTP the encoding has been changed, in the DW database it remains unchanged, making it possible to track the product throughout its existence.
There are also other reasons for using a replacement key in DW. One is that information about the same object can have different encodings, depending on the origin, when DW is fed from various sources (including outside the company). In this way, the substitute key chosen for the object becomes a standardization.
This can be confirmed by the definition of Surrogate Keys on the Kimball Group website, where it is mentioned that Actually, a surrogate key in a data Warehouse is more than just a substitute for a natural key. In a data Warehouse, a surrogate key is a necessary generalization of the natural Production key and is one of the basic Elements of data Warehouse design.
In fact, this article reinforces that Every Join between Dimension Tables and Fact Tables in a data Warehouse Environment should be based on surrogate Keys, not natural key.
TRANSLATION OF EXCERPTS ABOVE ORIGINALLY IN ENGLISH
A key is just the combination of column values (attribute) that provides an obvious way to differentiate lines and a natural key (or domain key) is one that has meaning outside the database environment such as latitude/longitude. Several people hold by a general rule that keys
must be natural (or stubbornly not to be) or must be immutable. I myself have heard that all junctions should be through key values. As always, it depends. On this subject there are very few rigid and fast rules, because sometimes there are conflicting demands between the level of
knowledge and implementation requirements.
(...)
Surrogate keys are the usual formal circumvention of the complexities of trying to handle natural keys that are clumsy or that do not conform to business rules. This is correct if they are kept restricted to the database: otherwise they are a type of technical debt. They facilitate database coding but are rejected by bookkeepers, counters, resellers or anyone who has to use them. They are not friendly. Sometimes substitute keys escape into the world if exposed as referential numbers and assume a permanent meaning that prevents any internal modification or renumbering in the database.
Note that there are 2 basic conceptions in the DW universe: Bill Inmon vs. Ralph Kimball. See https://www.1keydata.com/datawarehousing/inmon-kimball.html
– José Diz