We have always just bought through the cruise line. I probably can get it a bit cheaper from a third party, but I just appreciate the ease of adding it to the package and not having to spend time researching that.
Granted, we have only ever sailed with
DCL so that ease might be specific to just DCL.