They also don't have the secondary effect of making the teams competitive.
Take a look at World Series Champions (MLB -- no salary cap) [1]; everybody memes that the Yankees win all the time but they haven't won since 2009 and before that 2000. There have also been 16 different winners in the past 23 years.
Take a look at Superbowl Champions (NFL -- has salary cap) [2]; 14 different winners in the past 23 years.
Take a look at Stanley Cup Champions (NHL -- has salary cap) [3]; 13 different winners in the past 23 years.
Only the league without a salary cap has the most different winners.
[1]: https://en.wikipedia.org/wiki/List_of_World_Series_champions
[2]: https://en.wikipedia.org/wiki/List_of_Super_Bowl_champions#S...
[3]: https://en.wikipedia.org/wiki/List_of_Stanley_Cup_champions#...