The reported amount is always going to be less than what it says on the box (and even what is reported by the physical medium), because every file and directory (folder) you have on a hard drive takes up space to be represented on the file system.
Also, on magnetic drives, it's going to be less than that too, because while an SSD is entirely digital and can report to the nearest Gigabyte accurately (even though the filesystem and other data accounts for a smaller space being available), you're going to only have 1000 bytes per unit available when calculating storage rather than 1024 bytes per unit.
The exact amount that is correct is 1k or 1,024 but because of the physical restraints, it's only going to be 1,000 on the physical part of the drive. This is why you'll get, for example, an external drive that says it has 4TB capacity, but when calculated out and looking at the real available space on the drive, it is only like 3.7TB or 3.8TB depending on the type of file system you use, and any other overhead.
If you know how many files per directory you want available on the file system and other factors, you can sometimes adjust how many K per sector there are. Originally with the older drives, it was about 512k per sector, but since then 2k and 4k (Advanced Format or AF) have become more of the mainstay. You can tailor NTFS, ExFat, EXT, or JFS on linux and other OSes to where you can maximize and get the most space out of it possible for what you're using it for.
It won't always be that much, but if you really need the extra few Megabytes or Gigabytes, it can matter.