Even tho you get an average of the top 5 players at your position, which is definately not terrible, often it is just a one or two year deal, so if you happen to have a terrible year, your stock plummets, along with the fact that many players feel they can do better as an FA or just want to get the hell out of certain cities. At the beginning NFL players wanted this, but now most dont want to be the franchise player. Just like Randy Moss this off season, New England didnt make him the franchise player as to not insult him and force his hand, he ended up taking less $ to stay anyways.
In the NBA tho, the average of the top 5 players at your position would be a max contract or close to anyways, all you would be doing is forcing players to stay in a city they perhaps dont want to. Also you have to remember that NFL contracts arent 100% guaranteed, so to be signed for 1 year, get hurt or w/e, it can kill you longterm instead of signing a huge multi year deal.