Categories in a RelatedTo - How do I not list the parent if there is a child?
You could just use what you got, loop through the categories and try to grab the descendants for each of them.

{% set entries = craft.entries.relatedTo(category) %}
{% set allMarkets = craft.categories.group('markets').level(1).relatedTo(entries) %}

{% for market in allMarkets %}
    {% set descMarkets = market.getDescendants() %}

    {% if descMarkets %}
        {% for market in descMarkets %}
            {% include '_includes/partial' %}
        {% endfor %}
    {% else %}
        {% include '_includes/partial' %}
    {% endif %}
{% endfor %}


Another good approach is to "collect" element IDs.

You would basically do the same as in the output loop of the above example, but instead of having the conditionals and extra queries in the output loop, you’d work with element IDs that you merge into an array. You can then query for the categories nicely using the id param in a craft.categories criteria model.

{% set entries = craft.entries.relatedTo(category) %}
{% set topMarkets = craft.categories.group('markets').level(1).relatedTo(entries) %}

{% set allMarketIds = [] %}

{% for market in topMarkets %}
    {% set descMarketIds = craft.categories.descendantOf(market).ids() %}

    {% if descMarketIds %}
        {% set allMarketIds = allMarketIds|merge(descMarketIds) %}
    {% else %}
        {% set allMarketIds = allMarketIds|merge([market.id]) %}
    {% endif %}
{% endfor %}

{% set allMarkets = craft.categories.id(allMarketIds) %}

{% for market in allMarkets %}
    {% include '_includes/partial' %}
{% endfor %}


Update:

One more approach! I just noticed, that you can simply test whether a category has descendants or not. This should probably be best from a performance point of view.

{% set entries = craft.entries.relatedTo(category) %}
{% set allMarkets = craft.categories.group('markets').relatedTo(entries) %}

{% for market in allMarkets %}
    {% if market.getDescendants().total() == 0 %}
        {% include '_includes/partial' %}
    {% endif %}
{% endfor %}