Templating repeatable blocks in a matrix field
It might be worth checking the types of the matrix block like:

{% for block in entry.benefits.all() %}
    {% switch block.type %}
        {% case "intro" %} {# &lt;=== ASSUMING BLOCK TYPE HANDLE #}
            {% for image in block.leadImage.all() %}
                &lt;img class="headImage" src="{{ image.getUrl() }}" width="{{ image.getWidth() }}" height="{{ image.getHeight() }}" alt="{{ image.title }}"&gt;
            {% endfor %}
            &lt;h3 class="sectionHead"&gt;{{ block.introTitle }}&lt;/h3&gt;
            &lt;p class="intro"&gt;{{ block.introParagraph }}&lt;/p&gt;

        {% case "details" %} {# &lt;=== ASSUMING BLOCK TYPE HANDLE #}
            &lt;div class="details"&gt;
                &lt;p&gt;&lt;span class="orange"&gt;{{ block.benefit }}&lt;/span&gt; - {{ block.description }}&lt;/p&gt;
            &lt;/div&gt;

    {% endswitch %}
{% endfor %}



If you're wanting a list inside of a matrix (matrix in a matrix for the Benefits), I'd suggest killing the Benefits block type and adding a SuperTable or Neo field to the Intro block type then you'll be able to list the benefits below each intro in a for loop.