At the current moment, if a user has the Cost role in the project, but the “Setup Cost contracts” permission is not set for him/her in the Administration/Manage your team section, the “Create contract” button will be hidden on the “Contracts” page.
Other "Create XXX" buttons will be available on PCO/CO/PayApp pages if the user has the "Create" PCO/CO/PayApp permissions on at least one contract in the project.
There is no any information for users that will explain why the “Create contract” button is not available on the Contracts page (“Empty state.jpg” and “Grid view.jpg”). It might be confusing for users, especially if "Create" button is available on other pages.
Perhaps, it would be good to show the disabled “Create contract” button with a tooltip that will inform users that his/her user role should include the “Setup Cost contracts” permission for user role to have ability to create/edit contracts.