Likely the biggest reason (or two or five) we can't get rid of the salary cap is rookies held out for exorbitant amounts without ever playing a down. And didn't live up to the dollars.
Sam Bradford was the last to have that opportunity, signing for $78 million for 6 years, with $50 million guaranteed.
JaMarcus Russell 6 year, $68 million, who received $39 million for four season before being out of the league
Reggie Bush, RB, paid $62 million, ran for ran for 5400 yards in 10 years (albeit his receiving out of the backfield was a saving grace.)
Jason Smith, OT taken by the Rams, paid $61 million, injury prone
You could even add Matthew Stafford's $72 million and Matt Ryan's $70 million rookie deals.
And then there's Brian Bosworth. $11 million for 10 seasons (largest contract in NFL history at the time). Flunked his physical in the second year.