As soon as you have different roles, it becomes complicated to figure out who has access to what, and debug is slow and tedious.
The masquerade module comes to the rescue.
Once installed and enabled, give the masquerade permissions to the administrator role of your site.
He or she can then temporarily become any user on the site, check that the site permissions are correct, and switch back to the admin role to fix things.