Sometimes its not just about fairness. People have different skills, they work different territories, they have different levels of experience or seniority, they speak different languages.. Distribution Engine allows you to route based on these attributes using the Distribution tags feature.
Simply create collections of tags (to represent anything at all), assign these to your users and then create distributor rues to route based on these tags.
In our distribution rules we can find the best person to assign a Lead to based on their tags.
Distribution Engine can select users with specific tags or we can allow the engine to automatically match a field on the lead and pick a corresponding user based on their tags.
Because you can create multiple distribution rules its possible to create an order of preference about the rep that is assigned to. For example rule 1 might be senior rep with the correct industry and territory tags. If that fails to find a match, rule 2 might be less picky e.g. any senior rep.