У Андрея и Mjg были хорошие моменты, но я бы добавил существенную проблему, связанную с производительностью.
С разъединением базы данных и генерацией ключей также позволяет приложениям, имеющим сложные отношения между объектами, создавать их всес ключами на месте, так что возможны массовые вставки.
В случае автоинкремента все объекты, которые имеют отношения (например, таблицы с внешними ключами), должны ожидать другую сторонусвязь (т. е. таблицу, из которой исходит внешний ключ) для сохранения, запроса назначенных идентификаторов и последующего индивидуального обновления записей прежних записей.