You need to remember that a lot of cities and metro areas will enact a tourism tax that hikes the hotel rates beyond the typical percentages. That can hit hotels within the area and restaurant taxes can also accumulate. In Nashville, the Titans allowed Tennessee State to play in the stadium on Saturdays because they were building a stadium a few years back. It was great, but the college teams often tore the turf up the day before the NFL game the next game.
There are occasional concerts there....the CMA rewards, other events...but there are only 8 regular season home games per year from September to December. Preseason games only draw about 30%-40% of a regular season game and many are locals that don't spend extra money downtown when attending a game. If the season is going badly for a team, you can sometimes see the same kind of attendance if the weather isn't optimal. Ticket sales are usually somewhat absolute since they're often bought in advance....so the city would lose potential revenue from the few days they would get people in town.
I honestly think the Green Bay Packers are the only reason ANYONE lives in Wisconsin.
So yeah....baseball or basketball are definitely better deals as long as the size of the arena is appropriate. Most NFL stadiums are smaller than the big college stadiums (excluding Dallas). 70,000-85,000 is the typical size.