Drive size being reported as different than what's printed on the box has a few causes.
1) Manufacturers usually use 1000 instead of 1024 for Kilobytes, Megabytes, and Gigabytes so that skews it somewhat. Apparently, the marketing department can't wrap their heads around that extra "24" in each 1000.
2) This is for HDD's only, as I'm not sure about this with SSD's. With HDD's, the metal "platter" or "disc" inside has a magnetic charge. Just like a battery, this charge WILL slowly dissipate over time. When you format, any sectors with a low magnetic charge will be marked as "Bad" and marked as so in the table for available space. Sometimes, heavy drive activity can change this magnetic charge and make some bad sectors come back, but this is more the exception than the rule.
When I say the magnetic charge WILL dissipate over time, with regular usage, it normally "charges" or "freshens" the magnetic charge. If it sits on the store shelf for 6 months before you buy it, it's gonna have slightly lower capacity than a drive that only sat on the shelves for 1 week because of this. Just like if you work out every day, you can lift some heavy weights, but if you sit on your butt playing WoW every day for 6 months, lifting something heavier than a 1 liter bottle of Mountain Dew becomes quite the chore.
EDIT Holy crap I need to type faster! lol