For two reasons mainly; one is the fact that the old player has already played with most of the players you have, so they have a chemistry instead of getting a new younger player who would get used to playing with those people, on the other hand there is the fact that old players are not as old as they used to be, because players would retire at 32-35 range back in the day but because we evolved a lot higher these days, people can play as old as 40 years old, and not really retire before that, not unless they want to of course.
So when you combine these two together, you end up with a situation where players can be brought even when they are older, like how I assume we will see Messi at next world cup as well, he will be better than any other alternative.
It is not bad that the players who are veterans have action, I also think that 38-39 years is not that bad, nor old, taking only young players is not good either, just look at the example that Luis's Spain team gave Enrique, a total failure, they had so many good players and they didn't want to take the ones who really play well, so taking veteran players and young players is the right combination, I do believe that veterans are needed so that they can get ahead Otherwise they would have the action that Spain had in Qatar.