The main difference between role and profile is given below -
|The role helps in defining data visibility for a particular user.
||A profile sets the limitation for what an user can do in the organization.|
|Based on the hierarchy, a role defines which user data a user can see.
||Profile defines permissions|
|Defining role to a user is not mandatory
||Defining profile is mandatory|
|Roles provide a feature to control access to records by impacting reports. For example,“My Teams” filter. Roles function if a security model (OWDs) of an organization is set to private.
||Profiles help to decide record privileges i.e. assuming the user can observe the record, it concludes what the user can function, edit, delete, view on that record. It controls other system privileges like export data, mass email, etc.|