The majority of pro athletes make less than a million a year and are out of the game within a few years.
I won’t nitpick too much and just assume you only mean guys in the "majors: and not minor league baseball players (as low as 4 figure yearly incomes), NBA D-leaguers, NFL practice squaders, the MSL guys who make 30 grand I see at the Olive Garden, etc.
Right now there are 90 guys on each NFL roster, over 1000 of those guys will get cut before the regular season and make $0 this year, outside of training camp per diems and other negligible money. Sure some of the undrafted rookies get 5 grand, maybe even as high as 20 to sign, and some of the late-rounders get a little more. But their salaries are only paid on a prorated basis for games they are on the roster. Ex, a guy who makes $850,000 (still not millions), but gets cut after week 1 actually makes around 50 grand for the season. Sure a few will pick up practice squad or single game checks here and there, and some had significant bonuses or other guarantees, but not many. Most of the guys on the fringes of the rosters are minimum salary payers (all below 1 million) and the pay structure and salary cap encourages using younger lower salary guys at the less-flashy positions.
There was a guy drafted in the 1st round of the NBA a year or 2 ago who agreed to spend the year in the D-League for around 30 grand. Most 2nd round picks are not offered guaranteed contracts and start out well under $1 million.
Major League Baseball players are team-controlled for the first several years and the team just gives them whatever contract they feel like, usually a little over $500,000. Sometimes the teams will make an empty gesture- like if the minimum is $500,000 and the guy had a good year they will tender him at $507,000 or something a little higher. Many players refuse to sign their contracts as a symbolic protest.
The big money is in free agency. Most players in all sports never make it there, unless they are cut. And then, as mentioned, NFL contracts are pretty much made up numbers that are never earned. I don’t think there has ever been a long-term big money NFL contract that has been earned without a restructure. Maybe if Drew Brees plays out this year without an extension but I’m not sure. Even guys who aren’t cut before the end of the contracts usually are forced to take paycuts or do the team a favor by restructuring to smooth out the cap hit. Even Peyton Manning had to take a $4 million pay cut in guaranteed money to be allowed to come back to the Broncos last year. Tom Brady restructures his deal frequently, though this year it will save him money if he’s suspended.
Unless the guaranteed money is structured in an unusual way that makes it impossible to cut a player at any point after year 1 and before they end, All NFL deals are essentially 1 year contracts, and the only guaranteed money is the guaranteed signing bonuses. You always hear the reported contract amount and a few days later an NFL blogger will find the details and the real numbers. It’s always crazy, but usually something like “So and So signed for up to $40 million over 5 years, with 20 million guaranteed for injury,” but then the actual deal is $8 million bonus and salaries of $1 million, $2 million, $9 million, $10 million, $10 million (this guy is getting cut after year 2 no matter what, if that isn’t obvious) with some date every year when the guy can get cut without being owed anything else. So the 5 year , $40 deal is at most a 2 year $11 million deal with a team option to pay an over the hill player $10 million a year on the decline.