You can see from my previous post that I agree that Sakic isn't in a hurry and he might end up having to keep Duchene till his contract expires.
That said... there are other ways to generate interest and drive up the price as well. Sakic has options to maximize Duchene's market value, but he can't arbitrarily set the market based on his expectations. Sakic is not hemmed into waiting for someone to get desperate and match his price. He can set a deadline and force things.
If Duchene does get hurt, continues to decline, requests a trade, sits out, or signs elsewhere in a few years and leaves for nothing, Sakic will, rightly, receive criticism for failing to trade while he had the chance. This is a dynamic situation with a lot of moving parts that are outside Sakic's control. There is a lot of possibilities where waiting ends up as the wrong call. Sakic is making a gamble by waiting, even if it ends up being a smart gamble now, it could look stupid in the near future. Plenty of teams miss windows to trade players and regret it.
People won't care that the deals weren't great, they will only know teams had a lot of interest and Sakic didn't move him for market value. There is a downside to this strategy.