The downside to markdown should be obvious:
* more code, both server and client-side (to implement the to-and-from conversion)
* more bugs (due to more code and the complexity of escaping valid input that happens to be markup in one or the other)
* less features (if the editor supports some html that doesn't map 1-to-1 to markdown, you're in trouble)
* less future-proof/platform independent (html isn't going anywhere, but that markdown variant you're using with the custom extensions you needed might be subtly different in whatever language/platform/toolkit you'd prefer in 5 years).
Html is by far the better choice. If there's an improvement to be had here, it's in using the (compatible) XHTML5 serialization to ease parsing. And it's quite likely already using that, since that's what browsers' rich-text-editing generally produces.
It's a hit on reddit, GitHub and more for a good reason. They could have whitelisted things as well, but they chose not to.
I've used antisamy, but there are many others and I don't know which is best. But I would call the whitelist approach in general, best practice.
However, in a scenario like commenting or composing a message (where only limited editing options are available), storing in a format such as Markdown make sense.
http://bergie.github.com/hallo/markdown.html
He also has an interesting project called Create: