As a best practice, what should be the primary key of a dimension table? Explain. Are there any exceptions to this rule?

Project description
As a best practice, what should be the primary key of a dimension table? Explain. Are there any exceptions to this rule?

Should every dimension table include a natural / business key? Explain.

As a best practice what should be the primary key of the fact table. Explain.