Politicians shouldn't buy all of these stupid economic arguments for a simple fact they are often wrong. But governments aren't businesses. They don't have to make the smart economic move on every single decision. Creating a public park is rarely a smart economic move, but cities do it because that is what residents want. Politicians who let a sports franchise leave town without putting up a fight in negotiations are often quickly voted out (as well as politicians who offer too many incentives for a team to stay). So the people clearly want to keep teams when the cost is reasonable. The problem is what is "reasonable", especially when there is another city a few states over that has a slightly more generous definition of "reasonable"?
TL;DR - It is more complicated than "sports stadiums = bad" but these discussions rarely get deeper than that.