There are so many reasons to use Content Profile instead of the user's core profile. For once, profiles are created as separate nodes and therefore the full flexibility of CCK and VIews come in the game. This way it is possible to build some really sophisticated profiles, which is usually what is needed for any website.
I had to look around for an easy solution on how to load the user's content profile programmatically, so the following might come in helpful.
Drupal's core contact module comes with the feature that allows users to have their own personal contact forms.
We were asked to provide a way so that User 1 would receive a copy of any message exchanged between users via the forms.
Our first thought was to use Rules, but it seemed that creating an event for contact form submission was the long way to go.