Using Workflow Roles allows you added flexibility when using your workflows by allowing you to dynamically assign a user to a task when the workflow process is started.
For example. You may have a process for reviewing a loan review. That process may have a "Lead Analyst" but it's not know who that analyst will be during the workflow design. Instead of assigning a user or group, the workflow designer could assign a role as a place holder. Then, when the workflow is started, the user will be prompted to designate who will be the "Lead Analyst" for this workflow.
Another example would be a sales process. Say you have several sales people. Using the "Flow Creator" option is one, though it requires the particular user to start the workflow process. The approach we have notice most users taking thus far is creating several, cloned, copies of a workflow template. Each named for a particular user. Steve's Sales workflow. Jessie's Sales workflow, etc. While this works, it's certainly not ideal as a change in the process requires changes to each of the many workflow templates. Also, adding a new sales person, requires yet another cloned workflow template. With workflow roles, only one workflow template is needed.