People are going to say the Canadiens won the trade, but the reality is that the Stars were not going to qualify Gurianov. His QO is too high for what he has brought, and even if he doesn't sign his QO he has a strong enough resume to get an arbitration settlement that is higher than his QO but lower than the amount a team is allowed to walk away from a player at.
He's 26 in June. He is just as much of a finished product as Dadonov is. There is a chance that the Canadians might get a leg up on extending him to a contract at a more appropriate AAV that he otherwise would not have signed with Dallas because a UFA (which he'd be if not qualified) isn't staying in a system where he has seen a downturn.
This is as win-win as it gets. Dallas doesn't care if Gurianov becomes a solid top 9 forward for Montreal (which is far from guaranteed). He wasn't going to become that for them, and was going to leave at the end of the season when he wasn't qualified. He also probably had no value in a trade due to his cap hit. With this trade, they possibly get a motivated Dadonov down the stretch, who historically has been a better player than Gurianov. Given that they are contending for a cup, the upside there is more than worth it.
Trades like this are what trading is all about. All four parties in the trade (both players, both teams) leave the trade better off. Nobody is hurt. Nobody is fleeced.
Based on the reactions to this trade, you can tell which posters understand the mechanisms of the salary cap and how it effects trades, along with how teams manage their competitive windows. The "gurianov is 26" takes show a complete lack of understanding about how anything works with salary cap, ironically on a site dedicated to the cap.
IMO, this was the wrong move for Dallas. Hoffman would have been the guy, but only if they didn't find someone better by the deadline. Neiderreiter would have worked and was affordable. Hoffman would be cheaper, but you get what you pay for.
Dadonov does appear to have the mind, but the body seems to lag behind. It leads to a lot of "almost good" hockey from him. Every once in a while he's in sync, but most of the time you can see what he's trying to do, but the strength, speed, or coordination simply aren't there. He ends up skating laps without much impact as a result.
Gurianov is young enough for the game to be mental for him and can still be taught to use his abilities to be effective, even if it isn't in a top 6 role. I'm not saying you'll be able to turn him from an offensive player to a defensive one, but he can be a bottom 6 contributor in a secondary production role. Dallas is infamous for its stifling systems play that limits their offense and that's the structure he's been placed in for the majority of his career. He could flourish if allowed more freedom and ice time.
Regardless, this trade is something for nothing. Dadnov's return would have been minimal and he wasn't being re-signed. Gurianov represents a better opportunity for value than a 4/5th round pick.
There's no commitment beyond this season for him either. The team has the right to walk away from an award in player-elected arbitration, so unless the team takes him to arbitration, they won't be handcuffed. They will likely sign him for less on a prove-it deal if he shows any potential, or they can simply qualify him since his cap hit won't be prohibitive next season anyway.
If they walk away and let him go to free agency, no big loss.
Personally, I'd like to see what he's capable of under MSL and he'll have some opportunity with our personnel losses this season. He'll get to play some higher minutes in middle 6 roles, maybe even a top line audition with Suzuki, and some 2nd unit PP time.
Montreal only stands to gain from this deal, and already have by unloading Weber's contract in the first place, so any value from Gurianov is gravy.