In the past the big deciding factor in the value of a free agent was name value. That has diminished a bit. Better players well have bigger name value, but it isn't so much a deciding factor in the signing of free agents. Youth and potential have started to play a bigger role. Teams are no longer as willing to pay for past performance with aging veterans. It has caused a strange thing to happen. Aging veterans have become undervalued.
Just last off-season the Cardinals were able to sign Carlos Beltran to a two year $26 million contract. His batting line of .269/.346/.495 is slightly below his career batting line of .282/.360/.496, but the Cardinals got Carlos Beltran for a discount. Another big aspect that made the Carlos Beltran deal work was that he wasn't expected to be a key cog on the team. Carlos Beltran was signed to be a complimentary player. The fact that he was close to the Carlos Beltran of old was a bonus.