It’s just a matter of kids wanting to play at the “best place”. Sometimes a community is trying to improve its place in the sports world. They have coaches that are trying very hard and they are often a big reason why that athlete has succeeded.
So boiling it down to leaving an area because your people suck is often not true. People have often invested a ton of time and money and energy into that player and they are doing the best they can.
Sometimes it’s simply about playing for the best team they can find. And sometimes they get paid.