I should also mention probably one of the LEAST intrusive ways to go about creating private profiles for individuals that I know of on WordPress. If you are ok with getting your hands wet with PHP and testing within the database, then the following solution is awesome:
Justin Tadlock's explanation/method of utilizing your theme's 'functions.php' file to allow for the creation of functions that make your own unique custom fields for your individual users and your website - this is one of the least intrusive/friendly ways you can add custom profile fields with the least amount of plugin worry/issues.
In addition to this, you will want to utilize 'WP User FrontEnd' plugin to allow front-end viewing of profiles for specific types of members you have (subscribers, for example). This adds a front-end user profile area where you can simple choose a page where the user info will populate, set it with shortcode, and have a private member area.
Since everyone will be viewing their profile via front-end, you will want to utilize a front-end login panel. If you're looking for a decent front-end login plugin, I'd suggest utilizing the plugin 'Sidebar Login' as it works smoothly with the aforementioned settings. Within the simple settings panel that this plugin provides, you're able to redirect where individuals go upon login and logout and some other extra features - pretty nifty and simple.
For the most part, the above can work in the most simplest of cases smoothly, but if you're wanting to add extra buffers, read below (no specifics beyond this point, just providing a synopsis of extra stuff you should/could do):
To aid in disallowing wp-admin access for the general 'subscriber', I tinker with certain functions dealing with directing people to 'wp-admin.php' within the 'wp-login.php' file located in the root directory of your WP install. This helps keep unnecessary members from easily accessing your wp-admin area whatsoever. If back-end access is NOT a concern for you though, you can skip adding both 'Sidebar Login widget' and skip configuring your 'wp-login.php' file and proceed with Justin Tadlock's method (above), and utilizing 'WP User FrontEnd' plugin.
Yet again, this is just a BASIC way of doing this with many configurations you will have to set up/configure/code in addition to the above settings (privatizing content, pages, redirect, ssl if any, etc.), but if you're determined, you will get the hang of it if you work through it slowly.
I utilize this method on a couple of websites I've developed/designed, and it works great. Do at your own risk though; if you're unfamiliar with how to tinker with WP CMS structure, you may want to stick with one of the aforementioned solutions in my previous comments.
I hope one of these three methods works for individuals looking for a type of solution for private member areas.
I am using all of this without any issue utilizing WP 3.5.1