I've never sailed on HAL or Princess, but I am pretty sure all of the Cruise lines have Loyalty Programs with different benefits, however you need to sail several times to climb in status.
Some Lines like MSC have a Loyalty Match program, so if you have a high status with a different Cruise Line or even Hotel Chain, MSC will match it.
Carnival is not for everyone, but I know they have a Sailing Loyalty program as well as a Casino Loyalty program, so if you are a big gambler you can climb the Casino status much faster and get added discounts and offers.
If you sign up for Celebrity's Captain's Club, and opt in for Captains Club emails you can earn bonus points by watching videos, or answering questions. It's not a lot of points, but ever bit helps.
Finding a good travel agent is also a good way to get some deals and on board credits.