Contact Roles in Salesforce

Author

However we can create few more Custom lookup fields on Contact to associate few more accounts, but that will not be a good approach to achieve this requirement if you want to associate one contact to n number of accounts, cases, or opportunities.

In order to achieve this requirement, salesforce has provided a standard functionality i.e Contact Roles.
A Contact Role is the position/post of contact for any account, Case, or opportunity. Contact can have multiple roles for n numbers of accounts, case, or opportunity. Contact roles is the way to establish many to many relationships with Contacts and accounts, Contacts and cases or contacts, and opportunities.

For example, Sameer Tyagi is the contact in Salesforce for Account XYZ Company and he is also decision-maker for PQR Company and Evaluator for ABC Company.
Internally Salesforce has provided Standard separate objects Account Contact roles, Opportunity contact Roles, and Case object roles.