The Kilobyte is a multiple of a byte unit, the term has historically been used to refer to 1024 bytes (although in some contexts it may also represent 1000 bytes). This difference is related to the fact that the measurement units in computing are based on base 2 multiples (because of the bit). But the term kilo used as a prefix in units of measurement usually means 1000. To address this discrepancy, in 2000, the IEEE (Institute of Electrical and Electronics Engineers) approved new units of measurement, in which the Kibibyte (KiB) would be 1024 bytes, whereas the kilobyte would represent 1000 bytes. However, these new units did not have a great reception by the digital community. A kilobyte represents (approximately) the amount of information needed to store this paragraph you just read.
The Megabyte is the equivalent of 1024 kilobytes or 1,048,576 bytes. However, the International Measurement System argues that the mega prefix should be used to mean one million. So as not to deceive customers, hard disk manufacturers and other storage devices have begun using this recommendation, and equating the megabyte to 1,000,000 bytes. This allowed to reduce the number of clients, who complained, claiming that their devices had less capacity than the one that was advertised. In the early days of computing, a megabyte was considered a lot of data, nowadays, it is not so. A megabyte lets you store a small book, 100 megabytes allow you to store multiple volumes of one encyclopedia, and 640 megabytes is the space occupied by a music CD.