Here's a question most Salesforce admins can't answer: how many permission sets does your average user have?
If the answer is "I don't know," you're not alone. And you probably have a problem.
A user joins the Sales team. They get the Sales User permission set. Then they need access to a custom app — another permission set. Then someone creates a "Fix for SF-1234" permission set to solve a ticket, and it never gets removed. Then they move to a different role but keep the old permissions.
Two years later, that user has 14 permission sets, half of which give them access they don't need and shouldn't have.
Run this SOQL in Developer Console:
SELECT AssigneeId, COUNT(Id) FROM PermissionSetAssignment GROUP BY AssigneeId HAVING COUNT(Id) >= 10 ORDER BY COUNT(Id) DESC
Or just run a free health scan — it checks this automatically and tells you exactly who's over-permissioned.