Background
Regardless of the capitalization for the title of this node, capitalization is extremely important when discussing KB, Kb, kB, and kb. Most of us learned in elementary school that a Kilo was 1000. This was (and still is) true - however, some computer scientists had to come along and confuse things. It so happened that when dealing with computers, instead of 1 Kilobyte being equal to 1000 bytes, it suddenly became the unintuitive value of 1024 bytes. Of course since computers only deal with binary numbers:
The computer scientists were happy thinking about it this way, and nobody knew about computers back then anyway, so everyone else was happy too.
Over time, the technology became more advanced, and soon everyone had access to computers. The issue of Kilo not equaling 1000 was confusing people. In 1998 with this issue in mind, the International Electrotechnical Commission (IEC) decided to correct the problem once and for all. They created a new system of prefixes for binary multiples to differentiate these values. Under the new system, what was once prefixed with "Kilo" now began with "Kibi", and everyone lived happily ever after, the end.
Not really. While the new prefixes are unambiguous, they actually have lead to more confusion. First, they are not widely used, and therefore not widely understood. In addition, a system in place for several decades and frequently used in technical manuals, help files, and in the minds of the programmers and system administrators cannot just be given up. Most people will continue to use Kilo, Mega, and Giga as they always have.
This dual system is causing the most confusion for the consumer of computers products. Let's say you go out to buy a new hard drive. The package says it's 10 GB. What does that mean? Is it Gigabytes with Giga equal to 10^9 (1000000000) or is it Giga equal to 2^30 (1073741824)? How fast does your 56K modem actually download files?
Definitions
With all of that in mind, here are the new(er) definitions. Just keep in mind that many people still use the old system...
Kb
Kb (sometimes abbreviated Kib) stands for Kibibit.
1 Kibibit = 1024 bits
1 Kibibit = 2^10 bits
1 Kibibit = 128 bytes
1 Kibibit = 2^7 bytes
KB
KB (sometimes abbreviated KiB) stands for Kibibyte.
1 Kibibyte = 1024 bytes
1 Kibibyte = 2^10 bytes
1 Kibibyte = 8192 bits
1 Kibibyte = 2^13 bits
1 Kibibyte = 64 Kibibits
kb
kb stands for kilobit.
1 kilobit = 1000 bits
1 kilobit = 10^3 bits
kB
kB stands for kilobyte.
1 kilobyte = 1000 bytes
1 kilobyte = 10^3 bytes
Common Usage
Since bits are so small, when file sizes are measured, you will typically see the sizes listed in bytes or Kibibytes. When dealing with network traffic such as file downloads, you will typically see speeds measured in Kibibits per second (KBps) or Kibibytes per second (Kbps).
This writeup was brought to you by the letters "K" and "B" and by the numbers 10^3 and 2^10.