How authenticated users can choose favorite products and show them in their profile? in my drupal project, I want to have many products specification. I want authenticated users can choose their favorite product and they can set price for favorite product. these favorite products can show in their user's profile. and in any product page, all users can see all of the prices that set by authenticated users.

In Drupal 7 which approach / technique should I use?
This really seems like a perfect fit for the Flag module. Excerpt from its project page (bold markup added here):

... Flag is a flexible flagging system that is completely customizable by the administrator. Using this module, the site administrator can provide any number of flags for nodes, comments, users, and any other type of entity. Some possibilities include bookmarks, marking important, friends, or flag as offensive. With extensive views integration, you can create custom lists of popular content or keep tabs on important content.
Flags may be per-user, meaning that each user can mark an item individually, or global, meaning that the item is either marked or it is not marked, and any user who changes that changes it for everyone.
In this way, additional flags (similar to published and sticky) can be put on nodes, or other items, and dealt with by the system however the administration likes.

If you're not familiar with the Flag module, checkout the set of 8 video tutorials about the flag module.
Refer to Flag's Community documentation for (way) more details.
And to show this in their user's profile, could be implemented via an appropriate view (using Views), in the format of a block display, whereas you adapt the block visibility settings to only show such block for an URL that corresponds with the user's profile.