There are two user profiles, landlord and tenant. Both require different user role as well as different registration data.
Now tenant can search through landord's profiles and comment / rate on them as well.
How can I achieve this in drupal 7
In D6 we can create each node type for each type of profile and use hook_form_alter() to make thing happen. In D7 we can still do the same.
But I guess there is no contrib module for that.
I don't know if you are still interested or not. I've got the same problem and I solved in this way:
Or you can also redirect straight to the edit profile after the registration.
You can achieve this by using Profile2 module.
Designed to be the successor of the core profile module, which is deprecated for Drupal 7. In contrast to the deprecated module this module provides a new, fieldable 'profile' entity - leverage the power of fields!
The features list for Profile2 include "Optionally, profile forms are shown during user account registration.". If it is not working, then it is either a missing documentation, a bug or a not-yey-implemented feature. In all cases, the issues queue for Profile2 is the place to look for help.
Check also if Profile2 is needed at all. You can directly add fields to users in Drupal 7, Profile2 is only needed when you want/need profiles and users to be separated entities, or several profiles (of different kind) for a single user.
If the user profiles are not bound to site users, then why not use nodes and a dedicated content type?
there is profile2 module (http://drupal.org/project/profile2) or maybe profile lite (http://drupal.org/project/profile_lite) , or you can use edit profile (http://drupal.org/project/edit_profile). or the Profile UX (http://drupal.org/project/pux.)
but you need the module field permision http://drupal.org/project/field_permissions, just select the permision of the field for each role and its all.add the fields at the same profile ,but make diferente permisions for each role ,