Does the cache tag behave differently for Mobile vs Tablet vs Desktop?
Craft makes no distinction whether it's caching for mobile, tablet, desktop, etc., so it'll need to be taken care of on the template end.

You can easily do that with the "using key" parameter of the {% cache %} tag, though.

{% if craft.request.isMobileBrowser %}
    {% set cacheKeyType = 'mobile' %}
{% else %}
    {% set cacheKeyType = 'desktop' %}
{% endif %}

{% cache using key "page-header-" ~ cacheKeyType %}
    ....
{% endcache %}