What are contracts like in the MLB/NBA/NFL? I don't really watch anything but hockey and golf.
NFL, only some of the contract is guaranteed. Changes from player to player, i.e last summer Von Miller sign a 114 million dollar deal, only 70 mil was guaranteed. So if he gets released before it ends, he wont get the full value. You can also restructure contracts in the NFL, i.e the Caps could re-structure Ovy's deal to make the cap hit smaller but incur cap penalties in the future.
One thing the NFL has that the NHL should get, is the franchise tag. It basically makes a UFA an RFA and prohibits them from signing elsewhere, it's a way to help small market teams keep their star players and give them more time to negotiate.
NBA they are similar to the NHL but sometimes teams guarantee one year of a two year deal, or a deal becomes fully guaranteed after a certain date or certain amount of games played. Plus player/team options are very popular. There's also ways around the cap limit via mid-level exceptions and veteran exceptions, designated player exceptions too.
MLB is fully guaranteed like the NHL but player & team options are used a lot. Thing is, they have the whole service time system and arbitration system, so most players generally don't hit free agency until their late 20's, unless they make the MLB early like Bryce Harper for example.