I completely agree that it is impossible to write anything complex in markdown without resorting to HTML tags.

For me it's putting anchor tags around headings to provide in-page links.

But you should take a look at kramdown. Debian install:

apt-get install ruby-kramdown

Has stuff that markdown doesn't, like tables, stuff like id and class attribs for css etc.

And auto-generation of tables-of-contents