Q: What are 'position roles' and how are they used in the game (and game engine) ?
A: Position roles are ways to rate players emphasizing different attributes, based on how you want to use them. For example, the position role of WR POSS paces more emphasis on Hands, where WR DEEP place more on Speed. There are also two "custom" or user defined roles, which allow you to define your own emphasis. The KEY however, is that position roles are really nothing more than alternative depth charts, which you can use in customized formations.
The Game Engine does not treat players any differently based on the position role used, but your use of them in your formations can affect game results. By that I mean the results of a specific play won't be modified only because a player is in a role of "WR DEEP" (he doesn't become intrinsically 'faster' because of that.) Using the example of WR again, on your customized formation you might have one WR slot set to target Deep passes 80% of the time. You can set that slot to use the WR DEEP depth chart, and the other WR slot could use the WR POSS depth chart. Or, it could use the WR DEEP depth chart also.
One thing that's a major change from 2.0's use of "sub positions" - all players at a specific base position can (and should) be placed in multiple Position Roles (remember, they're just depth charts). It's possible you can have the same player listed first on multiple roles, and both roles in the same custom formation. The game would place the player in question in the first positional slot (i.e. WR1) and for the other position would just select the next player in the depth chart you chose.