Useful Things Instructors can do with Roles
Introducing a New Feature
Instructors Can Manipulate TA and Guest Roles
See this article for helpful tips: http://docs.moodle.org/en/Useful_things_a_teacher_can_do_with_roles
Many times, instructors use enrollment keys to give access to individuals who are not part of their UCLA roster (guests). This method can cause unexpected problems, and oftentimes, instructors are unaware of the consequences of using enrollment keys and how that impacts their class. In place of enrollment keys, manipulating the Guest Role (override permissions) may achieve the same objectives. Please talk to your instructors about their goals and keep this new feature in mind. It may help solve their problem.
Previously, the only ability Instructors had over how Guests experience their course was through the use of Make Public and Make Private. Giving instructors the ability to override Guest permissions greatly increases the control they have over how Guests interact with their course site.
It is possible to override permissions of a role in a given context using the Override permissions tab in the roles assignment screen. Overrides are specific permissions designed to change a role in a specific context, allowing you to tweak your permissions as required. Tweaking involves granting additional rights or revoking existing rights.
For example, if pupils with the role of Student in a course are usually allowed to start new discussions in forums, but there is one particular forum for which you want to restrict that capability. You can then set an override that prevents the capability of students to start new discussions in this forum (namely mod/ forum: startdiscussion).
Overrides can also be used to open up areas of your site and courses to grant users extra permissions. For example, you may want to experiment giving students the ability to grade some assignments (see the following screenshot) or to peer rate forum posts:

Depending on the context in which permissions are being overridden, only relevant capabilities are shown. For example, in the preceding example, only four capabilities are displayed. The underlying gray boxes show permissions that have been copied. The highlighted value is the value of this permission in this role in the parent context. In the screenshot, it would therefore make no difference whether the capability values View assignment and Submit assignment are set to Allow or left at Inherit.
It is possible to control the users who can view blocks. For example, you might have a block that you don’t want guest users to see. To hide the block from guests on the front page, access the roles page of the block (editing has to be turned on), go to the Override permissions tab, select the guest role, and set the capability moodle/block:view to prevent, and then save the changes made.
See this article for helpful tips: http://docs.moodle.org/en/Useful_things_a_teacher_can_do_with_roles
There are many other use cases for this feature. Please refer to the above link for more ideas and detailed instructions.
Best Practice When changing any role permission, keep a detailed record of what you changed and then test your change on that particular role to ensure it has the desired effect.
If you have use cases not listed here, please contribute them!
source: http://www.packtpub.com/article/roles-and-permission-moodle-administration-part2