No two organizations are alike, and not everyone uses Jira in the same way. Given the way Jira has exploded from being a bug tracker into so much more, its very clear that there is no one size fits all model for a Jira project. SO WHY ARE ROLES UNIVERSAL?
One of the most important, if not THE most important use cases of a project role is the ability to delegate role membership to project admins. That is the ONLY way to allow a non-Jira admin to grant permissions to people - and even THAT is dependent on a permission scheme that they cannot alter. BUT even so, the fact of the matter is some roles are universal, but some are not.
Enterpise-class customers may have dozens of departments, with roles that are important to their teams but not to others. This means that there could be pages and pages and pages of irrelevant roles applied to EVERY PROJECT.
So in the many years that this product is out I imagine SOMEONE must have found a way, via a plugin, JavaScript, Santeria ritual... some way of controlling this madness.
If so, please clue me in.