Until recently kilo = 10^3 except for one easy-to-remember exception: a kilobyte was 2^10 bytes and similar for mega. Then the marketing departments at hard drive companies decided that they could provide 5% less space by calling a MB 10^6 bytes instead of 2^20 bytes. Before then, everyone knew that a kb was 1024 bytes. Now people don't know for sure. (For example, my computer reports that I have (and is sold as having) 2GB of RAM and a 250GB hard drive, but I'm pretty sure my RAM is actually in base 2. Is the 10MB attachment limit in base 2 or base 10? In other words, now that we've all gotten used to a kb being 1024 bytes, why are we changing it?
Would an exception saying 1kb = 2^10 bytes etc. be too complicated? Other SI rules and their exceptions:
Prefixes for exponential factors greater than 0 are capitalized, except for deca, hecto, and kilo.
Don't capitalize symbols for units unless the unit is named after a person, except for the liter (L).*
Put spaces between the number and the symbol, except for %, degrees, arcminutes and arcseconds.*
Not to mention various ways of spelling liter/litre, country-specific abbreviations (amps), and country specific plurals (Henries), and it's ok to still use Celcius even though the SI unit is Kelvin.
*Liters, degrees, arcminutes, and arcseconds aren't really SI, and are on a separate list of non-SI units that are ok to use with SI.