pagination for blog landing page

This works for me with no 404s

 <?php
 $args = array (
    'posts_per_page' => 5 ,
    'paged' => $paged,
    'ignore_sticky_posts'    => true
  );
  $blog_query = new WP_Query($args);
  if ( $blog_query->max_num_pages > 1 ) { 
     next_posts_link('&larr; Older posts', $blog_query->max_num_pages); 
     previous_posts_link('Newer posts &rarr;', $blog_query->max_num_pages); 
  } 
  while ( $blog_query->have_posts() ) {
      $blog_query->the_post();

     // STUFF
  }
     if ( $blog_query->max_num_pages > 1 ) { 
     next_posts_link('&larr; Older posts', $blog_query->max_num_pages); 
     previous_posts_link('Newer posts &rarr;', $blog_query->max_num_pages); 
  }
  wp_reset_query();
  ?>

I can see the need for a secondary loop if you want to not use category pages or want there to be editable content on the page or a title different than the category name.