Drupal - Update Statistics label from "read" to "view" and "reads" to "views"
It's because you aren't accepting $variables by reference, so you're just changing a local variable. This will probably do what you want:

function mytheme_preprocess_node(&amp;$variables) {
  $content = &amp;$variables['content'];

  // Check the node  type to make sure
  // we have the one we want

  $content['links']['statistics']['#links']['statistics_counter']['title'] = str_replace('reads', 'views', $content['links']['statistics']['#links']['statistics_counter']['title']);
}