When you are developing a website which is basically a social community site, the main target is the User.
Drupal itself has several default features to handle User profile data and User's relationships, etc.But in this case I'm going to focus on the User's Profile custom fields.
Usually when creating user profile pages with Drupal, let's say Drupal 6, the Profile module, distributed with Drupal's core, is what comes to mind, but it has a lot of limitations:
it doesn't integrate with Views
and soon it will be removed from the core in Drupal 7.
So, if you need to extend the functionalities of the User Profile information and be ready to migrate from Drupal 6 to Drupal 7, a good approach is by using the Content Profile module, which is in charge of creating taxonomy fields in Drupal and of course being taxonomies, what are being created are fully integrated with the Views module, expanding functionalities for this approach.
We can also leverage all the functionalities of the node module, attaching these taxonomies to any node and any other module that performs operations over nodes, plus all the functionalities that the Content Construction Kit (CCK) has.
Learn more info about Drupal's 7 approach in terms of taxonomy.
Download the Performance Tuning Drupal ebook.