A GB is not up for debate, it's a fixed amount.
Ah -- there's your problem. A 'GB' is not (and never has been) what many people think it is when it comes to storage.
In the world of physical storage devices a GB is:
* 1000 MB
* 1000000 KB
* 1000000000 B
But in the world of computer software (including disk formats), a 'GB' is:
* 1024 MB
* 1048576 KB
* 1073741824 B
So, a completely fresh, clean '1 GB' storage device is actually physically capable of storing 0.931 GB. You're 'losing' almost a tenth of its capacity
just from the unit conversion.
Of course, the difference increases as the labelled storage amount also increases.
From the unit conversion
alone, a '16GB' device can only ever store
14.901 GB. That's before it's even formatted (which adds some minor overhead).
It's been like this forever. It wasn't so bad when hard drives were only 40MB in size, of course. Now we've got 128GB in our phones and 4TB on our desktops, it's really becoming a problem.
Historically, this boils down to the fact that the IT world abused the Kilo, Mega, Giga (etc) prefixes. These strictly mean increases in powers of ten. But computers are binary (base-two). A new prefix was agreed, meaning in my second set of numbers above, the abbreviations actually should be GiB, MiB and KiB (Gibibyte, Mebibyte and Kibibyte).
OS X actually reports storage sizes in the new units, hence a 16GB flash drive shows as 16GB in OS X (i.e. 16 GiB) instead of 14.9GB. Of course, the drive itself doesn't magically gain any space
EDIT: just saw this very point made further up the thread. Never mind! Still, I wonder why iOS still displays GiB instead of GB in its UI?