It’s probably worth noting that GitHub-flavoured Markdown is now CommonMark with a few extensions (some of which are in discussion for upstreaming into the spec).
It was unfortunate that Gruber never pushed for standardization early on, even with cries to do so. At least the format isn’t too fragmented, and GitHub and then CommonMark carried on the torch by popular demand.
It’s not too fragmented in the obvious respects, but the worst thing is when it comes to the little things that are often implicit in the design of your parser — spacing, tabbing, indenting. How many newlines do you need between blocks of one type and another if the latter is a different block type? How many spaces for an unfenced code block? What about if it’s part of a list item? If you’re in a fenced code block in a list item, does a line without leading spaces finish both, or is it fine because you’re in the code block?
There’s so many places to differ subtly — we ended up making a CommonMark renderer for our previous Markdown parser (cf. the regular HTML renderer) to convert all the user content since it’s just not possible to do it with a regexp or anything less than a full parser.
Does anyone know why markdown became so much more popular and widely used than restructured text when the later had a standard specification and support for things like tables which markdown did not have?
Compared to RST, markdown is very easy. Markdown is simple and basic formatting. RST is complex and supports so many customizations. However, markdown was enough for many and it was picked widely.
For me, I find markdown as simple as plain text.