Superuser's rigths are the easiest to outline: full access to every db (the initial root user is also a superuser).
The rest is no that simple, the best answer is: it depends on the needs. Just think what these roles require and grant
Few hints:
– grant only those rights that are needed
– no global rigths (stored in mysql.user) should be assigned to general users, beacause these rights apply to all dbs including mysql
– grant rights at the same level (either at global, db, table or column level) when possible because of simplicity