No, you can buy in advance of your cruise or onboard (and if you book it in advance the day you buy it on doesn't matter either) There is a discount for the All Pictures package if you buy it in advance, but I think it is only that one and the photobook that are discounted.
As to which is better? that depends on you, your family and what you want to do with the photos.