Right now the Minnesota Legislature is considering a measure for a new Minnesota Vikings football stadium financed in part by public funds. This is very controversial and a lot of people are dead set against it. I am very ambivalent myself. It is a complicated question.
First of all, the Vikings are a public good. They are the most popular sports team in Minnesota. Press coverage of the Vikings is greater than any other local team. Nationally you can get an idea of the popularity of pro football by the huge amount of coverage of the recent NFL draft. There are a lot of Vikings fans out there, even if most of them, like myself, watch on TV rather than in person. I think it would be a big loss to the state if they were gone.
The owners of pro football teams could afford to build the sort of stadiums you saw in the 1970s. The league shares the huge TV revenue equally among the teams (socialism!), so all of the teams have a very good revenue base. But in the last 30 years, various cities and states have built fancier and fancier new stadiums to attract teams or keep existing ones. There has been a lot of movement. The Baltimore Colts moved to Indianapolis, the St. Louis Cardinals moved to Arizona, the Los Angeles Rams moved to St. Louis. The Cleveland Browns became the Baltimore Ravens, and Cleveland had to spend a lot of money to get a new Cleveland Browns franchise. So if anyone thinks the Vikings won't move, or more likely be sold to someone who will move them, history shows otherwise.
As long as some cities are willing to spend the money, the other cites that want to get or keep teams are forced to spend to keep competitive. Newer stadiums have higher revenue streams with more luxury boxes, more parking revenue, and more good seats that can get higher ticket prices. Also as the football season has gotten longer (12 games a year, then 14, now 16), cold weather cities have incentive to build stadiums with roofs, though even warm weather cities like Phoenix and Dallas have roofs on their stadiums.
Many people might not realize that many other businesses besides sports teams are getting public subsidies. Many states and local governments will compete with tax subsidies, infrastructure improvements, low cost financing, and other subsidies. As shown by this article, some states are doing so much subsidies that they are permitting companies to keep employees state taxes as a way of paying them.
It is a classic game theory bind, where pursuing individual interests make everyone worse off. If none of the states did this sort of subsidy for businesses or sports teams, every state would save money, and business would have a level playing field. But once one state tries to attract business with subsidies, then others have to do so to keep up.
The competition among states is an unsolved problem. But there is one thing the NFL could do to help cities keep their teams. They should allow public ownership. The Green Bay Packers have such an ownership, which is probably the reason they are still in the small city of Green Bay. But they are only allowed to do this by a grandfather clause. All other franchises are required to be owned by small groups of individuals, with at least one partner owning at least 30 percent. Public ownership works in Green Bay, why not other places?