If the ad says "two for the price of one" and you're only "one", then you don't qualify. The advertised price is "two for the price of one", so of course you're not allowed to purchase it unless you bring the other "one" to make it "two".
Why two for the price of one? Because they make their money not off the fares but off the pax once they're on board. That's where cruiseships make their money - that's why the shameless bombardment to purchase things at every step of the way, including - on many ships - the rules that say you can't bring this and that (like booze) on board etc..
Two people will spend more than one, simple as that.