You need a balance. You want to give players the opportunity to impress, it's the only way to keep a conveyor belt of talent coming through. But you also need to give players the confidence that they can have a bad game or two and wont be out of the squad - take that pressure away.
People seem to think Southgate is going to make wholesale changes each time. There aren't many players screaming out for a place in the squad. Sterling's been better than Rashford but he's not been great. And whilst he's not let England down, he probably doesn't start anymore anyway so it's not too big an issue him not being in the squad. You know, if you have injury issues, you can bring him straight back in. Southgate can't say "he's been shite so he's not in" he has to use a more diplomatic reason and squad harmony is a good way to go.
Similarly with Maguire in past squads. He can't say "the other options are inexperienced and shite so I can only use Maguire even though he's shit too". Henderson by all accounts is a great player in the squad for mentoring and leadership so it's logical he's retained even if he's playing at a lower level now. Phillips is an odd one but he does perform for England in the style of play Southgate wants and there aren't many options out there. I'd like to have seen Ward-Prowse in there but he's a different type of player.