Megabyte (MB) and megabit (Mb) don't mean the same thing. One is a million bytes, which are each eight bits, and the other is just a million bits.
A megabyte is 1,000,000 bytes. Mega just means million, and there are eight bits in a byte, so one MB is 8,000,000 bits, or 8 Mb (notice the lowercase "b" there). While a bit can represent only two possible values (a 1 or a 0), a byte can represent 256 different values using those eight bits.
Think of it this way: A bit is just an on/off value. A byte can be a letter, a number, a symbol, an 8-bit color value, etc. Web color has 256 available colors because one byte can have 256 possible values (2*2*2*2*2*2*2*2) AKA two to the eighth power.
All pretty simple stuff. The abbreviations for bits and bytes are where things get complicated. The only distinction between the two abbreviations is whether the, “B” (or "b") at the end is lowercase or uppercase. That can make it pretty difficult to notice which is which. If both are uppercase does that mean byte, or does it mean that caps lock was on? If both are lowercase, then what?
The subtle difference between the two abbreviations can make it pretty easy to overlook typos. Technically, MB and Mb are both correct. Kind of like mistyping a word but having the mistyped word also be a word. Sneaks right through spell check it does.
Think bytes when thinking disk space
Typically, megabytes... Actually, gigabytes or even terabytes (petabytes soon!), are used to denote disk size. One might buy an SSD with a capacity of 256 GB, or maybe a hard drive that's 1 TB. Ok, so those examples didn’t actually use megabytes... Uhh... Floppy disks. Yep. Those were measured in MB. Sometimes even KB.
Think bits when thinking network speed
Bits, on the other hand, are useful when we're talking network speed. Gigabit ethernet, for example, is rated at one gigabit (not gigabyte, that would be awesome) per second. So don’t expect that gigabit connection to transfer a gigabyte worth of data per second. A gigabit connection can handle 125 MB/s (1,000 Mb / 8). Or can it? Well, actually no, not really. Because of various limiting factors, it isn’t really reasonable to expect 125 MB/s of actual data transfer out of gigabit ethernet. Still, that’s better than the 12.5 MB/s (100 Mb / 8) that good 'ol 100BASE-T can muster.
Alternative abbreviations for megabit and megabyte
Is there a better way? I dunno. We could just write out megabit and megabyte. Also, there's Mbit and Mbyte.