In today's era of free agency, unless your squad gets lucky with multiple lottery picks in a row, a la OKC, you HAVE to play in a big city if you want to contend year after year, simply because no matter how great you are, no one wants to play in Milwaukee, Cleveland, etc. Bron was the best player on the planet and still couldn't get anyone to join him, Cleveland is THAT wack of a city lol. Same with Garnett in Minnesota.
Notice all the guys you all are mentioning play in NY, LA, Chicago, Miami, etc. Duncan is really the only anomoly, because San Antonio isn't Cleveland, but it's not really poppin like that either. But dude seems like a weirdo judging by his wardrobe and hairline, so he probably enjoys it.
You think Kobe would have played for the Hornets his whole career had he not been traded? Hell nah. shyt, dude was screaming to be traded before the Gasol heist. Where to? Chicago, another major city. Or Jeter if he got drafted by the Brewers?
It's easy to play in one place when it's one of the 5 or so major cities in the US, simply because it'll always attract other talent that will keep your team competitive for the long haul.