There are 8 bits in a byte. There are 1024 bytes (B) in a kibibyte, and 1000 bytes in a kilobyte, which is based on the International System of Units (SI). This is because kibibyte is based on powers of 2, while kilobyte, being based on standard prefixes, is based on powers of ten.
Sure, the difference between 1024B and 1000B is not that bad, but due to the way exponents work, the difference become more apparent the more bytes you are measuring. For example, a Gigabyte (the convention the hard drive manufacturers use) is 10B^9=one billion bytes, whereas a Gibibyte is 1024B^3=one billion seventy-three million seven hundred forty-one thousand eight hundred twenty-four bytes. This means that, for each gigabyte, there is a difference of (1024B^3-10B^9)/10B^6=73.74182MB, or approximately 73.74 megabytes.
If you're buying a terabyte hard drive, it will have 10^12 bytes. However, Windows might tell you it has 931.32 GB. That's because although Windows uses the abbreviation GB, which is usually for gigabytes, it really means gibibytes. This leads to some confusion, such as thumb drive manufacturers being sued for allegedly misadvertising their file sizes.
By the way, if that didn't confuse you enough, there is also the distinction of bits (b) vs. bytes (B). There are 8 bits in a byte, so when an ISP advertises gigabit internet, you're really getting 10B^9/8b=125000000B=125 megabytes (MB) per second. These differences apply at slower speeds as well, so it takes some caution to know precisely how much speed is being offered.
In conclusion, bits are not bytes, gigabytes are not gigabits nor gibibytes nor gibibits, and although it is strategically desirable to move to using the International System of Units for storage, we might never make the transition because it goes against convention.
P.S. If you want to read something prettier, I created a web page with fancy math rendering. http://output.jsbin.com/pamohu