In any case they can retain only 5 of the 20-25 players each time. Who remembers which teams Rohit Sharma or David Warner or Shane Watson or Gautam Gambhir played with earlier but looks like fans connect(ed) to each one of them.
Also, taking your point, they could have 5 Right-to-Match cards for each team instead of 5 retaining. That way a franchise can choose to have the player to build their brand, fans, etc.
Example - If Mumbai Indians wants Bumrah, they can use the Right-to-Match card and get him for his correct price. But with retaining system, they get the player for a lesser price and thats how the same teams keep winning year after year
Its always healthy to have 8 competing teams as against the same 3 or 4.