You're not getting ripped off, but the explanation is somewhat wide of the mark.
Without getting too complicated; a megabyte isn't 1,000,000 bytes; it's 1,048,576 bytes.
Therefore; any hard drive you see on the streets purports to be the former as it gives a larger number - in order to work out the "real" size of a hard drive; just take the manufacturers number and divide it by 1.074 - this give you 149 (more or less)
Nope - I failed on the "keep it simple rule"! Sorry - working with bytes and so on is always confusing (and many of the guys in the forum will attest to the issues these things cause); but to summerise; the 149Gb figure is about right.
A more detailed explanation is available here:-
All the best