It makes those leagues weaker.
The NBA (I know they have a soft cap) is a terrible league. The good teams and players are entertaining, but they are virtually 1/5 of the field. The rest of the league has no chance and everyone knows it. Partly that's due to a lack of talent, and the that one good player out of 5 can have on a team, but still. The other part is bad contracts that have actually ruined careers and eras. You could make the argument that the Amar'e Stoudemire contract ruined what was left of Carmelo Anthony's prime, bringing a East contender to its knees, and basically ruining the East in terms of competition. Lebron is going to the Finals, it's a certainty. No team is good enough, they're either crippled by garbage contracts (Channing Frye, Derrick Rose) or crippled by terrible talent (PHI, NY, every other team in the East?).
At least with the NFL, a great defense can sometimes upset a franchise QB. In the NBA, you either have a super star, or you will never ever come close to winning a championship.