With permission sets available for some time now, there have been lot of discussions around what is real use of permission sets, what they are capable of, when to use them and when to stay away from them. I am hereby trying to put in some views
A Permission set is a configuration based mechanism to provide additional capabilities to users, on a temporary basis. It can be viewed as a subset of Profile, wherein it has similar capabilities to define security permissions, but has few lesser options.
Permission sets should be used primarily for temporary basis, wherein the access is to be provided for shorter time duration and the access can be removed later.
It can however be used to provide additional access to certain users, as compared to other users using same profile. But, in this case, usage of permission sets is elongated, its suggested to rather create a new profile.
It provides a very flexible and easy approach to give additional permissions to selected users, hence not impacting other users. One interesting feature of Permission sets is that they can be defined without specifying any license i.e. they can be assigned to any user having any license. Something, not there in profile.
- Permission set can add specific permissions to specific users
- Permission set can be defined independent of license type hence are highly reusable
- Multiple permission sets can be assigned to a user
For more details on permission sets visit Permission Sets Overview.