Earlier quoted context omitted.
You can’t change primary keys, that’s the point, because you don’t know where they are. For example if an old key is in a URL, and that URL is in a browser bookmark, now you need redirects, so you need to keep all the old keys around forever. Keys should be random or sequential, never contain information. If you want to enforce uniqueness then use a unique index/constraint.
I think you are confused about the terminology because a primary key is a uniqueness constraint. They can be changed in any RDBMS worth its salt. Keys should not be random and your URL example is a case in point. The url /germany/berlin/2023/mcdonalds contains no surrogate key and is immensely more useful than the url /review?uuid=1kjksdhh3244ygdvvgdd2345.
You can change primary keys within a database but you can’t change them outside the database. A database is a map but keys are part of the territory.
The second URL with the UUID is more secure and is preferred in many situations where information leakage is a concern.
The first URL is more descriptive but more prone to breakage. It depends on the situation.