You can purchase OBC online, they will send you codes for redemption, then you go online and redeem it for your sailing. It odd Royal does it that way, but on Celebrity you can enter all your sailing info and "gift" yourself OBC.
Everyone does it for different reasons, I do it so when I get onboard, I have a nice little cushion for expenses and if I don't use it, I get it back. I have a side hustle for fun money (trips, video games, and random crap I don't need), so leading up to my cruise I add $50 to $100 every couple of weeks. I know I could just save it, but if it is in my account, there is a good chance I could spend it on random crap.