As a DM, I firmly believe there is something that separates the player characters from the non-player characters (other than the fact that they have players.) The PCs, the heroes of the game world, are exceptional...they are not average. That is why they are heroes.
Above is a score distribution for 3d6 (clickity-pop for information on the image) . Without doing the math, let me tell you it comes out to an average stat of 10.5, basically making a stat of 9-12 the average. Rolling 4d6 and dropping the lowest makes an average stat of 12.244, and rolling 4d6 and dropping the lowest and rerolling ones makes an average stat of approximately 13...or barely above average.
There are people who think that rolling 4d6 rerolling any ones and dropping your lowest die (what I require for the first 6 stats) makes for super-hero characters, but you're not rolling characters that are super heroic, you're rolling characters with a minimum score of 6 (remember that for most stats, a score below 6 makes your character partially non-functional) and a maximum score of 18.
When a 1st level character meets a 0th level townsperson, and the DM rolls 3d6 for both, there is often no reason why that 0th level being is still 0th level. After all, his stats are similar to the PC's, he lives in the same town, why should he be 0th level? Especially if he has to fight the occasional Kobold to keep his farm safe. Some DMs solve this problem by deflating the dice rolls of 0th level characters, or rolling them with sets of house rules that favor lower rolls. Some DMs use role playing to get around it, saying that the 40 year old town mayor with the 18 STR is still a 0th level fighter because he never applied himself. This works out alright, I suppose, but I prefer what I see as a more elegant solution...in order to escape the trap of spending your life at 0th level, you (the PC) need to be exceptional (which is herein determined as having at least one stat of 13 or higher and no stats below 6)
0th level NPCs with no stats of 13 or higher, or a stat below 6, are stuck at 0th level because they never had the exceptionality needed to be a hero.
13 is not a major cut off number. It's still within one SD of the mean, which means that about half of characters will have a 13 or above for any given stat. However, I further limit playable stats as follows:
Every exceptional person is better at some things then the others, therefore, if all stats are within 3 points of each other, I also discard that set of dice rolls.
This prevents the 12/12/13/12/12/12 character from being created. He's boring. I just got bored looking at him right now.
It also prevents the 16/17/18/18/17/16 character from being created. I don't believe your rolls, anyways.
Lastly, I allow the players to arrange the stats as befits their character concept. If a character is playing a concept requiring two stats above 12 and rolls a 18/12/12/10/10/6, I will raise the stats so that the highest scores (the exceptional scores) are high enough for his concept (a paladin, for example, needs 17 CHR, 13 WIS, 12 STR and 9 CON in this instance, the scores would become 18/13/12/10/10/6 and the player would have no choice of where to put the 1st 3 stats. 18 would be his CHR, 13 his WIS and 12 his STR.) If the numbers are undoable, the player may discard the set and roll again.
It's not perfect, but it prevents having to roll dozens of sets of scores to fit the paladin concept you created.