usually fully guaranteed. That has been changing lately.
But the NFL was the one league that could cut a guy and get out of having to pay him or keep him on the roster.
Baseball and Basketball had to keep crappy players or players hurt and pay them and count toward roster.
Part of the reason you see trades for those players to help teams late in the season, either to dump salary or get prospects.
And most prospects especially top prospects have insurance on them for injury when playing last college season.