We had an 11 and 12 year old on the 10 day trip this year. Our kids are beyond the Santa Claus stage, so the surprise factor wasn't an issue. I'll explain what we did this time, then what we did in the past when travelling on Christmas with little ones.
For this past Christmas, our cruise WAS the family's Christmas present. We had discussed this with the kids in July 03, when we booked the trip. They had a limited Christmas in 03, limited birthdays in 04, and essentially no presents for Christmas 04 but the cruise. I took their stockings, which with suction cupped to the cabinet above the ice box. I packed 2 packages for the kids to open Christmas morning. They included 2 CDs and a book for my DD, and a gameboy game and book for my DS. I just put the wrapped packages in my luggage (unfortunately, TSA did unwrap one so bring tape just incase! Immigration was Christmas morning, so we used the packages as incentive to get the kids out of bed and through immigration!
DCL did give a small gift to the kids on Christmas eve, and there were some gifts given by Santa Christmas morning, but we missed those.
In the past, we've travelled on Christmas, and here was our approach. We took one special gift with us from Santa (usually something small, but highly desired). Then the kids were reminded that Santa knows all, so he understands that we're visiting Grandma/Grandpa on Christmas, and he's leaving most of their gifts at home so that Mom and Dad don't have to worry about packing them all back home. We had a neighbor play Santa while we were gone (leaving a key and telling them where things were stashed). Worked for several years!