Looking at most teams, with Pittsburgh somewhat of an exception because they had an exceptional core (Crosby, Malkin and Fleury), most contending teams build through the draft, by trading for prospects, and free agent patches. Top teams rarely sign top free agents, both because there aren't many and they often don't want to go to rebuilding teams - and when these teams become good, they're less eager to pay top dollar.
A lot of trades are talent for talent, that is, my guy who doesn't fit/we don't like for your misfit.
Sean Jones for Johannson.
Very few are prospects/draft picks for starting players, because only a few teams are rebuilding and are willing to trade good starters.
The Schenn trade was pretty unusual. A solid starter with years left on his contract at a reasonable salary for draft picks.
The worst trades are invariably those at the TDL.
The best steals come from scouting other teams' farm systems and identifying undervalued prospects, then buying them for a song.
With the changes in the game, older players may age faster, we saw that with Filppula, he was a solid 2C at 27-29, 3C from 30-32, and then declined quickly. Except for very talented players, I'd be wary of out years past 32 because it's harder to compensate for lack of speed as players age. And for bottom six guys, I'd make 30 the cutoff for all but the fastest guys. Read is an example, 3rd line 25-27, 4th line talent 28-30, below replacement by 31. Most of the aging decline charts are weighted toward the years when the league was slower.