Public WP website with one area just for members

Yes, there are tons of plugins to realize this. In my opinion, the most reliable, streamlined and bugfree plugin is “members” by Justin Tadlock.

As I’ve said, there are hundrets if not thousands of plugins which can do this.
Just browse the plugin directory.

On the other hand, building some custom redirects is not that hard.
You could add a redirect filter via

<?php
    /**
    * Redirect user after successful login.
    *
    * @param string $redirect_to URL to redirect to.
    * @param string $request URL the user is coming from.
    * @param object $user Logged user's data.
    * @return string
    */

    function my_login_redirect( $redirect_to, $request, $user ) {
       //is there a user to check?
       if (isset($user->roles) && is_array($user->roles)) {
       //check for subscribers
       if (in_array('subscriber', $user->roles)) {
        // redirect them to another URL, in this case, the homepage 
        $redirect_to =  home_url(); // Change this to page id for example
       }
    }
    return $redirect_to;
 }

 add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );

?>

Please keep in mind that this is just a shot in the dark (copied from codex) and not a full solution.
See: Codex Link