I have some users and I want to offer them the chance to choose their role which will have different permissions settings? How can I include a field on their user profile to allow them to choose the role? Is having a select list and then check that value the best option or is their a module that takes care of this kind of 'roles and responsibilities' stuff. For example, there is a 'facilitator' role which I want to give more permissions with regards to messaging users.
There is a module that is supposed to cover that https://drupal.org/project/autoassignrole.
Or if you want to make it supper slim, you can add custom code to add dropdown with existing roles to account edit form and update user account on form submit.