People crap on contracts and say a guy like Duchene getting 10M would be too much... But in the end, it's all a matter of perspective. You have to look at those contracts and evaluate them in terms of Cap Percentage (Cap %).
For example. A guy like Kevin Hayes getting approximately 7M on a 82M$ salary cap will get approximately 8.5% of his team's cap space.
Let's go back to 2005, right after the lockout. The salary cap was 39M. We signed Kovalev to a 4 years deal worth 18M$ total back then, which was 11.5% of our cap space. So in the end, 9.5M is the new 4.5M.
Let's do another exercise. Let's go back to the summer of 2009, i.e the infamous Gainey spending spree. Salary cap was set at 56.8M. Back then, we signed Cammalleri to a 5 years, 6M per season contract. 6M back then was 10.5% of a team's cap space. Today, under a 82M cap, 10.5% of a team's cap space is... 8.66M.
Given the fact Duchene is a C, the extra million or so makes perfect sense.
Let's give Duchene 10M. It's 12.2% of a team's cap space. Back in 2009, the amount would've been almost exactly 7M. Hardly a ridiculous amount for a top-line, under-30 years old C who just came off a career year.
You guys have to put things on perspective.