What is the best practice for restricting a section to logged in users?

I think the answer is “it depends” — on how flexible and/or “slick” you want the solution to be. The quickest/easiest thing to do would be to create a custom post type (there are tried/true plugins out there that can help establish this) — and then in your theme functions.php (or in a very simple plugin), put in logic that redirects non-logged in users to a page of your choice, if the current post is of that type:

function guest_restrict () {
    if ( !is_user_logged_in() && "restricted_post" == get_post_type( get_the_ID() ) )
        wp_redirect( 'http://www.foosite.com/some/page' );
}
add_action('template_redirect','guest_restrict');

A “full blown” solution would be to bolt in a membership system (plugin) but that is a much bigger deal.