Using public money to fund stadiums is business 101. Why use your own money when you can use another's to benefit yourself?
Same reason people take out loans on stuff....when you can make more with your own investments than the interest rate you're paying on a loan, it would be stupid not to.
The cities choice is usually either pony up some tax payer dollars, or lose your team to another city that will. Just business. Owners don't care if they are playing in city A or city B; they just care which city will benefit their bottom line the most.