So what is a role? A role represents demand for labor. This demand is then supplied by a resource assigned to the role. For example, project X needs a social media director which will be staffed by Henry. Roles are booked hours so that the resource and you know who is working on what and when.
A useful analogy to understand roles is to think of a play. A play has roles, actors, a director, and a script. The director identifies all the roles and assigns the best actor. In a small play, one actor may fulfill multiple roles. Once all the roles are assigned, the script describes who will do what, and when they will do it. In Projector, these concepts correspond to roles, resources, project managers, and booked hours. The project manager identifies roles and assigns resources. The PM then books hours to the roles, describing when work needs to be performed. As with the actors, one resource may hold multiple roles in the "play."
Roles do not need to have a resource assigned to them immediately. Rather, they remain unnamed and only contain a description of the requirements. For example, I need an analyst, from the finance department, on the east coast, and in the US cost center. This is typical in larger, complex organizations where multiple people that can fulfill the same role. In order to plan out your project you know that you need someone with a specific skillset, but you might not know who is the best fit or who will be available when you need them. Roles are a placeholder so that you can accurately plan the project. They separate the demand from the supply.