I play around with the player roles feature sometimes, but I always end up switching back to overall. The problem for me is with 5 teams playing slightly different styles, I have one group of settings for my flex/3-2 teams, and another for the triangle/2-3 teams. And sometimes, personnel on my flex teams ends up better suited to 2-3, and vice versa. I’d like to be able to customize per team rather than by user in user settings. But there does not appear to be a way to do that, at least not that I’ve found.
It is essentially there for you to customize how the system evaluates players. If you think the system default places too much emphasis on defense and skills, and not enough on physical attributes like athleticism and speed, you can use player roles to produce more “accurate” results when scouting, recruiting, and game planning - accuracy depending of course on how well your updates mesh with the reality of how the game engine functions. If your customization reflects your biases rather than how the game actually functions, the results you get are simply going to be the results you want, and it may not help you win at all. Player roles is kind of a “garbage in, garbage out” kind of deal.
To answer your questions directly:
1) Assuming you’re talking about the system defaults, I think the answer is kind of, but only to the extent that the system defaults are truly optimal (conventional wisdom is that they’re not actually optimal at all)
2) It can be used that way, but again, if this is based on system defaults, it’s probably less than optimal. And if you customize, it is optimal to the extent that your customization is positively compatible within the game engine. For example, if you’re running FB/press, and you go all ath/spd/def and ignore stamina, you are not going to have optimal results (unless you get lucky and just happen to accidentally have a lot of stamina).