Most Probable answer to your question,
Role definitionRole definition class defines the RoleType of user, it may be reader or contributor.
forFor e.g.
RoleDefinition roleDefinition = web.RoleDefinitions.GetByType(RoleType.Contributor);
RoleDefinition roleDefinition = web.RoleDefinitions.GetByType(RoleType.Contributor);
To assign a user to a particular role on a Web site, create a RoleDefinitionBindingCollection object for the Web site context,add a role definition to the binding collection object,
RoleDefinitionBindingCollection roleDefinitionBindingCollection = new RoleDefinitionBindingCollection(clientContext);
RoleDefinitionBindingCollection roleDefinitionBindingCollection = new RoleDefinitionBindingCollection(clientContext);
roleDefinitionCollection.Add(roleDefinition);
and then use the Add(principal,RoleDefinitionBindingCollection) method to add the user together with the binding collection to the role assignments for the Web site.
RoleAssignmentsRole Assignments is use to assign principal and RoleDefinitionBindingCollection using Add property for e.g.
Web.RoleAssignments.Add(Principal, RoleDefinitionBindingCollection);
Web.RoleAssignments.Add(Principal, RoleDefinitionBindingCollection);