Two definitions of a gigabyte, both in daily use
A gigabyte can mean 1,000,000,000 bytes or 1,073,741,824 bytes depending on who is counting. Storage manufacturers use the decimal definition, because powers of ten are what SI prefixes have always meant. Operating systems historically used powers of two, because memory addressing is binary.
The gap compounds as units get bigger: it is 2.4% at kilobytes, 4.9% at megabytes, 7.4% at gigabytes and 10% at terabytes. That is why a 1 TB drive shows as roughly 931 GB in Windows, and why the shortfall looks worse on larger drives.
Who uses which
In 1998 the IEC introduced explicit binary prefixes — kibi, mebi, gibi, tebi — so that KiB, MiB and GiB could mean powers of two unambiguously. macOS and Linux distributions have largely moved to decimal reporting, so a 1 TB drive shows as 1 TB there. Windows still reports binary values under decimal labels, which is where most of the confusion originates.
Bytes and bits are not the same
Storage is measured in bytes; connection speeds are measured in bits, and there are eight bits to a byte. A 100 Mbit/s connection therefore downloads at a maximum of about 12.5 MB per second, before protocol overhead. The capital B versus lowercase b is doing a lot of work in those abbreviations.