This is definitely not FA recommendations, and I am very involved in my local grassroots club. We have 15 junior teams, and several age groups with 2 teams but we don't split by ability. It's not competitive until U12, so although the leagues are split into divisions, this is only to ensure the teams are playing against teams of a similar ability and don't get hammered every week. They muddle them up at October half term and Christmas. Results cannot be published other than for cup games. The focus is on development and fun.
Some clubs do split by ability and I can kind of understand it as it's hard to develop players if they are very mixed ability within one team. However, more often than not in my experience, splitting by ability is down to coaches' egos. They're doing it because they want to win games, and often this is at the expense of developing their players properly.
The danger with splitting by ability is that the ones who are in the "weaker" team will eventually get fed up as they will get hammered every week, and they'll walk away from football.
Football is about so much more than winning. The development, the social aspect, learning to be a team player, building confidence and learning how to win and lose graciously are all things we focus on with our players.
DH runs an U9 team and in his view, if they're all still playing football by the time they're U16, he'll have done a good job.
Also, if they are split by ability they are not under any circumstances allowed to name the teams anything which would indicate that there is a difference in ability. So they can't be called, for example, Anywhere Rovers U8 Gold & U8 Silver, nor can they be team A and B or team 1 and 2.