There are instances when you need to restrict some users or certain roles from having the ability to set or edit Accounts in the Accounting Subtab of the Item Record. This is to ensure that only authorized users can make changes to the Item Record Accounts and to avoid unintended changes at the same time.
Sample Item Record Accounts are Asset, Income, COGS and Gain/Loss. When an Item Record Account is changed, most accounts on existing transactions will also be updated. Unintended account changes may result to incorrect reporting.
The only accounts that may not be updated are COGS and Asset accounts if the Do Not Update COGS and Asset Accounts on Existing Transactions When Accounts Are Changed preference is enabled.
Here are the things that Administrators should consider:
1.) Items and Accounts Permissions (Setup > Users/Roles > Manage Roles > Permissions subtab > Lists Sublist)

2.) Anyone Can Set Item Accounts Preference (Setup > Accounting > Accounting Preferences > Items/Transactions)
a.) When the permission level set for Items is View only, user cannot edit the Item Record at all, regardless of the Accounts permission and the Accounting Preference.
b.) When the permission level set for Items is at least Edit, users can edit the Item Record including the Item Accounts when there is at least View permission for Accounts
c.) When the permission level set for Items is at least Edit, there is no permission for Accounts, and the Anyone Can Set Item Accounts preference is disabled, user cannot edit the Item Accounts.
d.) When the permission level set for Items is at least Edit and there is no permission for Accounts, but the Anyone Can Set Item Accounts preference is enabled, user can edit the Item Accounts.
Here is a summary table to better understand the behavior:

You can use this guide when setting permissions and preference.