The two nicest things about directives once you get the point behind them are that they're
consistent and
flexible: once you know the syntax for one directive, you know most of the syntax for the rest.
The problem with that is that the syntax is comparatively heavyweight. Part of this is due to reST's alignment rules and partly down to the generality of directives.
Let's take 'image' as an example. The simple way to embed an image in reST is this:
.. image:: foo.png
And in Markdown:

And with some alt text:
.. image:: foo.png
:alt: Foo!
And in Markdown:

I've had people struggle with image directives simply because it doesn't sink in that the `:alt:` attribute has to be aligned with the directive name, whereas the rough equivalent in Markdown has no such issues.
OTOH, once you know how to embed an image in reST, you're 90% of the way to knowing how to embed a code block, whereas in Markdown you need to learn a little bit more syntax. The downside of that is that this:
.. code::
print("Hello, world!")
Is more heavyweight than:
``
print("Hello, world!")
``
And people prefer the latter as it's less to type to the former, even if the former introduces no special-purpose syntax.
This is where Markdown's ad hoc nature has benefits over reST's more structured nature: if you want to embed an image in Markdown, you learn how to embed an image; in reST, you learn the directive syntax so you can embed images. That gives Markdown and reST different learning curves. Markdown gives you lots of little easy-to-learn tools, but requires that you be constantly learning new tools as you go along, whereas reST gives you fewer, slightly more complex tools you have to learn up front, and all the new stuff you learn later is based off of those. Moreover, Markdown has less impact on the text due to its ad hoc markup being more compact, unlike reST, which takes the route of being more general at the cost of being more verbose.
Somebody starting out confronted with either reST or Markdown will look at both and see that the latter looks more like plain text than the former, and thus there is less of an initial barrier to entry. That's why the likes of MkDocs exist in spite of the likes of Sphinx existing long before MkDocs and its ilk did.
TL;DR: Markdown makes easy stuff super easy and hard stuff possible; reST makes the easy stuff a little harder than Markdown, but lets you lift mountains.
Edit: s/codeblock/code/