I of course agree with all of this, except the last sentence: the length of career of an NFL player is 3.3 years (MLB, I'm told, is 5.6) and despite the risk of injury, the money is not guaranteed (NFL also has a tax-payer funded minor league in which players can spend 5 years or more and for which they earn 0).