Reducing space is less about pure storage amount but rather about the fact that having a not-too-large datatype (e.g. native integer) for keys generally improves all kinds of performance as the indexes are more compact and better fit in caches, comparison is trivial so joins are faster, etc.
The goal is to have a non-sequential ID (for example,
to hide the information about the actual size of the data
set) in a situation where one needs to support a storage
that doesn't have a native support for UUIDs (that isn't just “convert to TEXT”) and reuse as much of the schema
as possible without [ab]using ORMs. For example,
an application that has to support SQLite as well as
PostgreSQL and maybe some other storages.