I don't exactly remember when we started playing with salary caps. The impact that it had on our game, though, is hard to understate. Yes, there's still dumping, but the contending teams usually still have one or two gaps in their line-ups. The haves and have nots still exist, but not to the same ridiculous degree. In the last few years in particular, the races for the title have become much, much tighter.
One fear about salary caps is that they will quash trading. When we instituted the salary cap, a few nervous nellies fretted that no one would be able to make a trade ever again. Boy were they wrong. In the last three years, my A.L. home league has averaged about 55 trades a season. Instead of curbing trading, salary caps have had the opposite effect. Instead of one-sided dump trade after one-sided dump trade, teams have to get creative in order to add the players to their rosters that they need to add.
A common mistake I see owners make with caps is not making a trade because they're worried they'll add too much salary and then get outmaneuvered by another owner later in the season. While I can understand why this might be a concern, the more successful owners in my leagues have been able to work around this possible constraint rather easily. There are a few solutions to potential salary cap challenges.
1) Players Get Hurt
In most leagues, only your active roster counts against your salary cap. So if you're right up against your cap and someone gets hurt, your salary cap problem is solved. It's rare to go through an entire season without injuries. If you make an aggressive trade that puts you up against the cap, keep in mind that you might wind up getting some space if someone gets hurt.
2) Trading Away Salary
While we all like to believe that we're wonderful owners that never make mistakes, it is rare to leave an auction without one or two clunkers on your squad. If a player has a high salary that doesn't sync up with high performance, it shouldn't be too hard to flip that player to a non-contender as part of a dump deal. The non-contender might flip said player to one of your competitors, but chances are good that if the player was a disappointment for you, he'll probably be a disappointment for your competitor.
3) Waiving Salary
While simply releasing a player is the least desirable scenario for any owner, what gets lost in the shuffle sometimes is that you're keeping a quality player off of a competitor's roster for a good chunk of time if you dump for that player on May 15 and then waive him on July 25. Saying no to a deal now doesn't mean that a dumping team will sit on its hands and go, "oh, I guess Mike doesn't want to deal so I'll go sit in the corner, pick my nose, and watch the ESPYs." It's more likely that team will dump to another competitor. Playing keep away - even if it's only temporary - isn't a bad thing.
There are always good reasons not to make a trade, but salary cap concerns should never be one of those reasons.