@option Sometimes you don't want to expose a record's ID.
For example (it's a shitty example, but it's valid):
What if you had a table that houses all paying members? Well you don't really want to expose the ID, because then people know how much your income is etc. All they'd need to do is keep changing the number in the URL until an invalid record is returned. Then they know exactly how many customers you have.