Because it provides stability, and really good players are tough to replace so might as well try to have them take long-term tenures.
I want stability also.
But if it is not possible, you go for the 2nd best option.
So, if the options are for example:
0. (not possible) Haaland for 10 years
1. Haaland for 3 years
2. Lautaro for 8 years
3. Gabriel Jesus for 8 years
Which one do you pick?
It's like: would you have Xavi for 3 years or Gomes-Rakitic for 10 years.
Would you go for stability if a difference in class is insane?
Also, this "stability" thing started around Pep's era when once in a lifetime things happened:
1. we had Messi from the age 17 till today, which never happens
2. we had Xavi, which happens once in 100 years
3. Iniesta, the same
4. Busi, the same
We had the core from La Masia and they were all out of this world.
Which happens never.
And because of them and since we were winning everything, then other players wanted to stay longer than they would stay in normal circumstances, like Dani Alves.
So, a recent era is not something normal, but once in a lifetime anomaly.
I wrote in the past, but I am not good a dig for those numbers again, before Pep's era, iirc, we had 1-2 foreigners ever who stayed longer than 5-6 years.
So, majority of foreigners stay less than 5 years.
Only in rare occasions a foreigner stays longer than 5 years.