Drupal Caching strategies
So I tested and there is a significant difference between the two that I failed to understand originally.  Calculations not surrounded with ...

$render_array = &amp;drupal_static(__FUNCTION__);
  if (!isset($my_data)) {
    if ($cache = cache_get('my_module_data')) {
      $render_array = $cache-&gt;data;
    }
    else {
      // Do your expensive calculations here
      cache_set('my_module_data', $render_array, 'cache');
    }
  }


...are executed every time the menu callback function is called (every time user visits that page).

Method #2 caches only the final, rendered output.  So if your calculations/processing in the method has changed the output value and you've cached the rendered output, you will not see the updated value until the cache is cleared.