It's often said that the general managers who win the NHL free-agency frenzy are the ones who don't dabble in the dark arts of inking players looking for a large salary bump. While that may be true in many cases, there are also some valuable additions and diamonds in the rough for teams looking hard enough at their options.
Such is the case this offseason, as you'll see in our tiered look. It breaks down the unrestricted free agents into categories ranging from sure things to big gambles to players to avoid like they're marinated in toxic waste. Oh, and one franchise-redefining center as well.
Here's a look at the key players hitting the market on July 1:
Note: Ages listed are as of June 19.

Tier 1: The best bets

John Tavares, C, New York Islanders
Age: 27 | 2017-18 cap hit: $5,500,000
Franchise players in their prime almost never make it to free agency. Franchise centers going UFA in their prime is like spotting a unicorn riding Halley's Comet. The last guy close to that stature was Brad Richards, who signed a nine-year deal that paid him $24 million in the first two seasons -- and that was in 2011 dollars.
Tavares has the sixth-most points in the NHL since 2014 (306). He is the No. 1 center your team is always chasing. If he goes to market, is a record-setting $11 million cap hit out of the question? Or will Tavares settle in a little lower for the sake of a Stanley Cup pursuit?
Again, the big question is if he goes to market; smart money is he remains with the Islanders. But these suitors will be hot for him if he doesn't re-sign.

Ilya Kovalchuk, LW/RW, St. Petersburg SKA (KHL)
Age: 35 | Previous NHL cap hit: $6,666,666
Kovalchuk hasn't played in the NHL since 2013, and there was some concern about his level of engagement during his KHL years. But those who have watched him also say his game has rounded out away from the puck. He has a tremendous shot, is an elite power-play performer and an underrated playmaker. He will be coveted by any team with a need for a top-six winger -- the Boston Bruins, Los Angeles Kings and St. Louis Blues among them.

James Neal, LW/RW, Vegas Golden Knights
Age: 30 | 2017-18 cap hit: $5,000,000
"The Real Deal" was a standout for the first-year Golden Knights, netting 25 goals. He has 102 in his past 290 games. He lost the thread a little bit during the regular season due to injuries but roared back with six goals and five helpers in the playoffs. He's a steady, physical presence who's good for 25-30 tallies a season. Will Vegas retain him?

James van Riemsdyk, LW, Toronto Maple Leafs
Age: 29 | 2017-18 cap hit: $4,250,000
JVR should send Evander Kane a fruit basket for getting seven years and $49 million out of the San Jose Sharks, setting a comfortable market standard. Especially since van Riemsdyk has 201 points in his past 285 games, compared to Kane's 154 in his past 250. He's proved he can be a solid, complementary top-line winger who could end up too rich for the Maple Leafs' cap considerations.

Tier 2: The smart gambles

Riley Nash, C, Boston Bruins
Age: 29 | 2017-18 cap hit: $900,000
This could be a total steal for someone if the contract is right. Nash had 15 goals and 26 assists in a breakout 2017-18 season, where his ice time increased by 1:37 per game. He's in his prime and made peanuts on his last deal.

Patrick Maroon, LW, New Jersey Devils
Age: 30 | 2017-18 cap hit: $6,000,000
Maroon was fine with the Devils, posting a 0.76 points-per-game average in 17 appearances despite seeing his offensive-zone starts decrease. That 27-goal campaign on Connor McDavid's wing in 2016-17 was probably an anomaly, but Maroon could get a team around 42 points and be a physical presence. Not a bad addition if the price is right, and he is a thrifty fallback for teams that miss out on the better left wings.

Michael Grabner, RW, New Jersey Devils
Age: 30 | 2017-18 cap hit: $1,650,000
Whatever happened with Grabner and the Devils, it was ugly: two goals and three assists in 21 games after his acquisition at the trade deadline, and then a healthy scratch in the playoffs. But we're wagering that Grabner is still the guy who has the same goals-per-game average as Phil Kessel and Nathan MacKinnon (0.35). If anything, his flop with the Devils might make the speedy forward an even greater bargain.

John Carlson, D, Washington Capitals
Age: 28 | 2017-18 cap hit: $3,966,667
Why is the best defenseman on the open market not a "best bet"" Two reasons. First is that he's going to get an average annual value on his contract north of $7 million, and it'll be hard to live up to that. Second, he has 144 points in his past 210 games, and 62 of them were on a power-play unit that featured Alex Ovechkin, Evgeny Kuznetsov and Nicklas Backstrom, which gives us pause. But shift-to-shift, he's a solid defenseman that would be an asset to any team -- especially the reigning Stanley Cup champions.

Mike Green, D, Detroit Red Wings
Age: 32 | 2017-18 cap hit: $6,000,000
The Young Gun is now an Elder Statesman. Green's game is well-rounded, and he was an asset on the Red Wings, with whom he'd like to remain. If he goes to market, you know what you're getting: around 35 points and, unfortunately, only about 70 games at most due to injuries. With the right contract, he can help.

John Moore, D, New Jersey Devils
Age: 27 | 2017-18 cap hit: $1,666,667
This is a value move for someone. Moore had a strong season in 81 games for the Devils, relative to recent years, including a little more offense than expected (seven goals and 11 assists). Overall, a solid defenseman who's a pain to play against, and a good addition for any team looking for a left-handed depth defenseman.

Jonathan Bernier, G, Colorado Avalanche
Age: 29 | 2017-18 cap hit: $2,750,000
Bernier was impressive last season for the Avs, going 19-13-3 with a .922 even-strength save percentage and saving the club's collective bacon when Semyon Varlamov was out with an injury. He's turning 30 in August, but consecutive seasons of strong backup work might warrant adding him to a tandem.

Jaroslav Halak, G, New York Islanders
Age: 33 | 2017-18 cap hit: $4,500,000
He can't handle the crease on his own, and he's not worth $4.5 million against the cap. But he had a .917 even-strength save percentage during the past three seasons combined on a leaky defensive team. He's worth it for the right price and term.

Tier 3: The boom-or-busts

Tyler Bozak, C, Toronto Maple Leafs
Age: 32 | 2017-18 cap hit: $4,200,000
Bozak had the typical trajectory in Toronto, going from appreciated young player to maligned older player once his cap hit increased, back to an appreciated "actually good" player based on analytics to "eh, we can do better" as UFA status approached. In a limited role, he can help someone in the bottom six. But 57.2 percent of his starts were in the offensive zone, and he managed just 0.53 points per game.

Paul Stastny, C, Winnipeg Jets
Age: 32 | 2017-18 cap hit: $7,000,000
Stastny isn't a $7 million cap hit player, no matter what his stellar numbers with Winnipeg (13 points in 19 regular-season games, another 15 points in 17 playoff games) will tell you. He wasn't a driver of offense with the Blues, but admittedly meshed well with Nikolaj Ehlers and Patrik Laine. I don't totally trust him in the regular season, but with 31 points in his past 44 playoff games, he's demonstrably a solid postseason performer.

Joe Thornton, C, San Jose Sharks
Age: 38 | 2017-18 cap hit: $8,000,000
Let's preface this by saying that Thornton is most likely a Shark or retired next season. On the off chance he goes to market, he remains one of the most gifted playmakers in the NHL, albeit one with consecutive seasons of offensive decline. It's a young, fast skater's league, and Jumbo is neither.

David Perron, LW, Vegas Golden Knights
Age: 30 | 2017-18 cap hit: $3,750,000
The Knights were Perron's fifth team since 2014, but they helped him find his offense again with 66 points in 70 games. Nevertheless, it's hard to shake the fact that he had one goal in his final 26 games of the season, including the playoffs, where Perron was a healthy scratch in the Stanley Cup Final.

Thomas Vanek, LW/RW, Columbus Blue Jackets
Age: 34 | 2017-18 cap hit: $2,000,000
Since the tier is called "boom or bust," we're required by law to list Vanek here, seeing as how the phrase perfectly encapsulates his career. The Jackets were his fifth team since 2015, after he posted 41 points in 61 games with Vancouver. He had 15 points in 19 games for the Blue Jackets, and then just two points in their six-game playoff series loss. Expect another one-year deal and a half-season that's good enough to bait the hook at the trade deadline. Such is Vanek.

Ian Cole, D, Columbus Blue Jackets
Age: 29 | 2017-18 cap hit: $2,100,000
Ian Cole might be the "oldest" 29-year-old in the league, which is a good thing and a bad thing. It's a good thing because his veteran savvy and steadiness are assets for any team. It's a bad thing because he's averaged 91 games played per season for the past three years with Pittsburgh and Columbus, due to playoff runs, and that's a lot of mileage.

Jack Johnson, D, Columbus Blue Jackets
Age: 31 | 2017-18 cap hit: $4,357,143
His off-ice family and financial drama has overshadowed the fact that he's a decent puck-moving defenseman, if a bit of a possession drag. Someone will overpay him.

Carter Hutton, G, St. Louis Blues
Age: 32 | 2017-18 cap hit: $1,125,000
Hutton stands before two paths. One leads to a Cam Talbot-like future, where the backup goalie gets his shot and acquits himself well, at least for one season. The other leads to Scott Darling, where the backup goalie is well-compensated but cracks under the pressure of expectations in his increased role.

Tier 4: The rickety investments

Valtteri Filppula, C, Philadelphia Flyers
Age: 34 | 2017-18 cap hit: $5,000,000
He's a versatile forward who gets you 30 points, wins you some faceoffs and is generally durable. But reports out of Philly were that the 34-year-old was "the Flyers' worst forward" and "looked gassed most nights."

Tomas Plekanec, C, Toronto Maple Leafs
Age: 35 | 2017-18 cap hit: $6,000,000
We're putting him here on the off chance that Plekanec is looking for anything resembling his $6 million cap hit or anything more than a one-year contract on his next deal. He hasn't been bad in the previous two seasons -- good possession numbers, along with 38 even-strength points in 155 games despite a defensive usage bent. But at this point, there's a specific role and a specific contract that works for Pleks, and anything more than either of those makes this specious. Just go back to Montreal on the cheap and play out the string.

Rick Nash, LW, Boston Bruins
Age: 34 | 2017-18 cap hit: $7,800,000
One of the truly baffling options on the market. Are perceptions of him warped by his contract, or is Nash just not worth the investment? He does a lot of little things right, but he has only 177 points in his past 277 regular-season games. And why would a contender go anywhere near him, with just eight points (including four goals) in his past 20 playoff games?

Alexei Emelin, D, Nashville Predators
Age: 32 | 2017-18 cap hit: $4,100,000
How bad was Emelin last season for the Predators? So bad that part of P.K. Subban's Norris Trophy case was that he was anchored by Emelin last season but still thrived. The defenseman was a minus-7.32 in relative Corsi; he's a minus-3.04 over his past 223 games combined with Montreal and Nashville. Someone will sign him against their better judgment.

Toby Enstrom, D, Winnipeg Jets
Age: 33 | 2017-18 cap hit: $5,750,000
Let's be real: His offense has dried up. His wheels are suspect. His ice time dropped by nearly five minutes per game this past season. Is it possible he just needs a change in scenery? Sure. Is it possible he's now "Toby Enstrom in name only"? Quite possible, yes.

Dan Hamhuis, D, Dallas Stars
Age: 35 | 2017-18 cap hit: $3,750,000
Remember when Hamhuis first hit unrestricted free agency and there was an actual Dan Hamhuis derby with teams trying to acquire him? Good times. He had arguably his best season with Dallas, which might be a product of his pairing with Greg Pateryn and the defensive benefits of playing under Ken Hitchcock. For the right contract, he might be worth a shot. But those conditions were pretty perfect for him to bounce back last season, and may not be repeatable.

Kari Lehtonen, G, Dallas Stars
Age: 34 | 2017-18 cap hit: $5,900,000
He had his best season since 2014 with Dallas last year (thanks again, Ken Hitchcock) but was still only at .968 in low-danger, even-strength save percentage. He's battled injuries for the past few seasons. Ideally, he's an affordable veteran backup for a young starter. But there are better options if you're looking for a goalie with whom to form a tandem.

Petr Mrazek, G, Philadelphia Flyers
Age: 26 | 2017-18 cap hit: $4,000,000
What a fall from grace: From Red Wings goalie of the future to a player whom the Wings, Golden Knights, most teams at the trade deadline and probably the Flyers didn't want. We're not sure what he has to do to get his game back on track, but this is probably a reclamation project to avoid.

Cam Ward, G, Carolina Hurricanes
Age: 34 | 2017-18 cap hit: $3,300,000
One assumes his time with the Hurricanes is over -- but we assumed the same before his most recent contract, too. Ward has a goals saved above average of minus-7.82, and half of his appearances failed to meet the quality-start threshold. Nice guy, good teammate, but his time as a dependable netminder is behind him. But watch the Canes bring him back again.

The spackle
These are unrestricted free agents who aren't going to change the trajectory of a team, for better or worse. They're affordable options who can plaster over some problems ... like spackle. They could end up being your Devante Smith-Pelly or Michal Kempny types aka those guys on a championship who were low-key acquisitions but ended up being vital contributors. Or a waste of time and money. One of the two.
Jay Beagle, C, Washington Capitals
Derek Ryan, C, Carolina Hurricanes
Matt Stajan, C, Calgary Flames
J.T. Brown, RW, Anaheim Ducks
Matt Calvert, LW, Columbus Blue Jackets
Blake Comeau, LW/RW, Colorado Avalanche
Jussi Jokinen, LW/RW, Vancouver Canucks
Matt Read, LW/RW, Philadelphia Flyers
Antoine Roussel, LW/RW, Dallas Stars
Lee Stempniak, RW, Carolina Hurricanes
Kris Versteeg, RW, Calgary Flames
Joel Ward, RW, San Jose Sharks
Kevin Bieksa, D, Anaheim Ducks
Kevin Connauton, D, Arizona Coyotes
Calvin de Haan, D, New York Islanders
Mark Fayne, D, Edmonton Oilers
Nick Holden, D, Boston Bruins
Greg Pateryn, D, Dallas Stars
Roman Polak, D, Toronto Maple Leafs
Michal Kempny, D, Washington Capitals
Luca Sbisa, D, Vegas Golden Knights
Andrej Sustr, D, Tampa Bay Lightning
Andrew Hammond, G, Ottawa Senators
Anton Khudobin, G, Boston Bruins
Chad Johnson, G, Buffalo Sabres
Ondrej Pavelec, G, New York Rangers