M = 1000 in Roman numerals, but the confusing bit is not reading them like Roman numerals (2000) but rather interpreting them as one thousand thousands, or one million.
This came up in a thread a while back (http://news.ycombinator.com/item?id=1483667). Bottom line is that "MM" comes from the banking/finance world. In banking, $3M actually means $3,000 and $3MM means $3,000,000.