On the NBA, the teams have themselves to blame. The players (through their agents) figured out how to control the system and use their leverage to create "super teams". They call the shots. The NBA is desperately trying to keep player movement down by allowing current teams to offer significantly more money to retain their stars. But if stars like Durrant are going to take millions and millions less to change teams, not much you can do. (And btw, lets give the Warriors credit for having three other superstars on the roster at significantly below market contracts to allow KD to come there)
But onto to loyalty in sports in general. I am a diehard Pittsburgh Steeler fan. But there is not ONE player on the team that if they left tomorrow (cut, traded, signed as a free agent) would cause me to even remotely consider rooting for another team. In fact, they can all leave. It doesn't matter. At the end of the day, I am still going to root for whoever shows up on Sundays (or Mondays, or Thursdays or the occasional Saturday...but I digress here) wearing the Steeler's uniform.
There is absolutely no loyalty in sports, either from a player or management perspective...that notion went out the window decades ago when the money became significant. Tom Landry was fired and Wayne Gretzky was traded. If that doesn't scream sports is big business nothing else will. You just can't be upset at player movement. It will continually happen as long as there is free agency. Fans love free agency when their team signs a star but loathe it and complain about player loyalty when their star signs elsewhere.
If you don't like the way sports are today, then yes, you have every right to spend your cash elsewhere.
But diehard fans like myself, understand the nature of the beast. Root for the team and never any individual player.