Technically speaking, the roman numeral "M" stands for one thousand. So "MM" = "thousand thousand," or million.
These days it's a matter of preference as to which abbreviation to use. You'll see different people and different firms using either/or. (And a lot of people are now using "k" for thousand and "M" for million.)
If we want to get even wonkier, we could note that the English word "million" derives from the French word "mille," meaning "thousand." ("Mille" derives from the Latin, and the original Latin denotation is used to mean "thousand" in familiar words like "millennium," "millisecond," and "millipede.") The word "million" was originally invented to mean "a great thousand," or "a thousand thousand."
True. I'll confess that I'm not 100% sure how "MM" originally came to be used in financial and accounting notation. But it's been used to mean "million" by way of "thousand x thousand."
It's possible the M's in the financial notation system are not actually Roman numerals, so much as abbreviations of the word "mille" (or some equivalent thereof).
No, prefixes, as in kg. Money, as we have seen in this thread, does not use SI stuff at all, so talking about it this way is awkward, since $100k appears to have an SI "suffix" when technically it carries an SI "prefix." But US people usually do not say "100k USD"; they believe $ always means USD. People in other countries using $ know their dollar sign is likely to be confused, so are more likely to say "100T ZWD" etc.
Yeah, it's kilodollars, just written "$100k" rather than "100 k$" conventionally. But it's fairly clear that what's being multiplied is the base currency unit (dollars, euros, whatever). For historical reasons currencies give the units via a symbol before the number, instead of a letter after it: €10, $10, £10.
Depends on the country. Most people in the eurozone use "10 €", not "€10". However, when adding SI prefixes most people would append the prefix to the amount, rather than prepending it to the unit e.g. "100k €".
Others here have covered the fact that M means thousands to many people. But where does it come from?
As best I can tell, it comes from the fixed-income markets, where MM/MMM/MMMM have been used for many decades. This convention is not universal in finance--you often see monetary policy news using M/B/T instead. And applications not targeted specifically at finance professionals often use M/B/T (e.g. Google/Yahoo Finance). The most widely-used finance application after Excel is probably the Bloomberg terminal, which uses MM/MMM/MMMM for all asset classes (n.b. Bloomberg originally was most focused on bonds, so of course they adopted that convention).
Once you have arrived in the present situation, where M can mean either thousands (to the weird bond people) or millions (to laypeople), you realize that MM is understood as millions everywhere, if not right away. That's better than ambiguity. And B for billions is a little wonky anyway, because not every language calls it a billion (the Dutch, French, and Polish all start their "billions" with an M).