Direct versus indirect account-contact relationships
Key Takeaway
A contact's direct relationship is to its primary account, which is the account in its "Account Name" field. Every other account link is indirect. The "Direct" field comes from Account Name, so to make a different account direct, you change Account Name.
Contacts to Multiple Accounts lets one contact record relate to more than one account. You can track a consultant or business owner who works with several companies without creating duplicate contacts. Each contact keeps one primary account in its Account Name field, and that link is the direct relationship. Every other account link is indirect. Most features still use only the primary account, so knowing which kind of relationship you have tells you what users will see and what will break.
Turning on Contacts to Multiple Accounts
An admin with the "Customize Application" permission turns on Contacts to Multiple Accounts in Setup. Under "Account Settings", the admin selects "Allow users to relate a contact to multiple accounts". You can't enable the feature with the Metadata API.
Disabling Contacts to Multiple Accounts deletes all indirect relationships. Each contact keeps its link to its primary account.