It's not a bits/bytes thing, it's because of how hard drive manufacturers measure their capacity. Despite that there are 1024 bytes in a kilobyte (and 1024KB in a MB, 1024MB in a GB, etc.), the manufacturers for simplicity's sake take it to mean 1000B in a KB (and 1000KB in a MB, 1000MB in a GB, etc.) when advertising the capacity of their drives. When you lose 24 bytes for every KB, you'll find it ends up being a fairly big loss (such as 150GB off every 2TB drive).
More detailed explanation on Wikipedia, including ratios of loss
There are other factors that decide what the final capacity of a drive is, such as manufacturing defects (which the drive accounts for) and what formatting regime you use (FAT32, NTFS, exFAT, or those used for Linux), among other things.