BetterData uses roles to determine what a user can and cannot do. Community level roles can be defined by administrators. Any user can be associated with one or more role. Once defined, roles can be given permission to view, edit or delete any content, page or component on your community. This gives you the ability to define granular access.
Application profiles also utilise social networking user roles. By default the user that creates a profile is the owner. Other users can join (either freely or with approval by the owner) to gain the member role for that profile.
Roles are also utilised in the workflow, enabling the workflow to assign actions to individuals or roles and determine which role is involved in which stage of the workflow.