I said the reason for a move must be for profit or legal reasons, but now I've thought of other reasons.
1. The owner moves the team to where he lives. (Grizzlies to smaller Memphis, Sonics to smaller OKC, Blazers to Seattle if Jody moves them, Seahawks to L.A. till Paul Allen rescued them)
2. The banks financing a poorer owner require the city of least risk. (No examples that I know of, but I wonder if lenders [not minority owners] have forced moves in the past.)
3. Or the new owner breaks with NBA conventional wisdom and cashes in on a big-population city:
3a. The NBA quietly avoids cities not rich (cough, white) enough for the league's high ticket prices (St. Louis, Kansas City, Cincinnati)
3b. Other: big cities close to another NBA city, non-English language, or gambling (San Diego, Buffalo, Tampa, Columbus, Baltimore, Montreal, Mexican cities, Las Vegas)
3c. Edit: How could I forget Seattle and Vancouver.
Edit #2: Come to think of it, the purpose of reasons 2 and 3 is to increase profit. Only reason 1 will cost the owner decreased profit. But reason 1 will increase his sense of control, so he feels it will increase his profit even in a smaller city. So like reasons 2 and 3, his motive is to increase profit, whether a move really will or not.
So I have disproven that I was wrong, and proven that I should not have doubted my infallibility. What an error I made to think that I make errors.