You do understand how the salary cap works right? All the money the NFL makes is split up to the 32 teams (after the ridiculous salaries are paid out to the NFL employees).
And, no player is required to play for any amount of money. The franchise tag is something continuously agreed upon (started in 1993), so the NFLPA has had plenty of opportunities to try and get rid of it, if they wanted. For 99% of players the tag is used on, it is more than they are worth. For the other 1%, crying because they only get a single year contract for a few million less (which is 100% guaranteed, btw), is just a heartbreaking tragedy, I know.
Your argument makes no sense. A rookie, after 5 years, is almost never worth the average salary of the top 5 players in that position. You think Nick Foles is worth $18 million a year at QB? Because, he is franchised with the Eagles. With the exception to the most elite of the elite 4th or 5th year players, a franchise tag is a giant raise. And, if they happen to get injured during that year and it causes them to be forced to end their career, they just got a hell of a lot more than they would have with a big contract that isn't 100% guaranteed.