If you look at the markdown source:
-
with shortcode you have a reusable component extending the possibilities of markdown. Also usable across the site.
-
The Markdown still looks like markdown and is much more readable.
If the shortcode has a good name and proper named arguments anyone without templating language can still read that markdown and get an impression what that does.
have a look at the Details shortcode and it’s referenced source code I for sure don’t want that definition inside my “Text” document.
-
converting the markdown to another source format (or renderer) is much easier