According to the NFLPA the average career of a player in the NFL is 3.5 years and the lowest rookie salary is $193000.
The reason a career ends is either through injury,self-induced retirement which is more than likely related to injury or being cut - a draft every year and an influx of 7-10 players on average clearly does not give much job security.
Say there is a salary cap on rookies, where is the incentive to play? Unless the cap is set fairly high and yes I agree $41+ million on an unproven QB is insane, if that rookie gets injured or cut in his first three or four seasons, then that's it, NFL over at age 25 or younger.
This wouldn't be good PR for the league and quite possibly could cause worse problems as younger players look to live life up while they can.
So yes I see the argument for a salary cap as it over-rewards unproven talent but at the same time, cutting their earning potential too drastically could see these athletes look elsewhere for their options. Certainly if I were young and American I'd want to be a baseball player. Hell I'm sure the Reds could move Edward Encarnacion to the OF and let a 34 year old Brit that used to play cricket play the hot corner :D