I don’t get it. Learn a bunch of new not-really-very-convenient coding symbols the obscure the appearance of your text until you view it in a markdown viewing application, all so it can be turned into not-that-much-more-complex HTML? I mean, unless I’m completely missing something, Markdown doesn’t do very much in the way of coding at all, it’s not like it’s giving you some super fast and easy way to write CSS or complex tables or something.
So why bother? I’m sure there’s a very good reason, it’s just not plain to me.
I think the idea is that both the source code and the html output be easily readable and “mean” about the same thing. So if all you have is a text editor or terminal screen you can just read the source.
Granted that well-formatted HTML is not horrible to read, but Markdown is pretty much exactly how you’d write a text file if it was only ever going to be read as a text file. Blank spaces between paragraphs, headers “underlined” with a row of minus signs, &c.
Using Markdown (or similar) means you can easily convert the some source for contexts other than a web page - a PDF, email, plain text summary.
Similarly, if you dramatically change your page layout, you can have your Markdown engine produce a different output as needed (adding class names, for example) without having to change the original source.
HTML needs a lot of complex sanitizing before it’s safe to include in page output, both for security and to avoid goofs like unclosed tags.
If you’re not experienced at writing HTML or need something more intuitive it works. Looking at the wiki entry on it, it seems to be used primarily to format text entered into a plain text field as opposed to a rich text editor. If you don’t want to implement a rich text editor, it’s a lot easier and intuitive for your users to remember to throw a * in front of items they want to become a list than writing out ul and li tags.
It’s meant to be a syntax shortcut for basic HTML.