Man muss bedenken dass so ein primary key häufig gleich mehrfach in Indizes vorkommt und häufig Vergleiche (durch joins) darauf passieren. Um daher größtmögliche Performance zu haben und wenige Platz unnötig zu beanspruchen ist es fast immer eine schlechte Idee einen natural key als primary key zu benutzen.
Dazu kommt das Problem, wie schon erwähnt, dass sich primary keys nur sehr schwer ändern lassen. Effektiv macht man so aus einer
two-way door decision eine one-way door decision. Normalerweise möchte man eigentlich genau dass Gegenteil erreichen, schliesslich ist niemand perfekt und du weißt nie genau wie die Zukunft aussieht. Was z.B. wenn zwei Unternehmen mergen, schon hast du möglicherweise Konflikte bei Personal-, Kundennummern usw. Einmal vergeben ist also gar nicht so leicht, es sei den du nutzt UUIDs.
Ganz besonders heikel ist auch Sicherheit/Privatsphäre bei sowas. Primary keys tauchen üblicherweise an vielen Stellen auf wie z.B. URLs, die man nicht so absichert wie die Inhalte auf die verwiesen wird. Man sollte sich gut überlegen welche Informationen man da bereit ist zu leaken, wobei da natürlich auch ein einfacher aufsteigender primary key schon problematisch sein kann.