Sometimes gift cards can take a long time. I once had a Marriott accidentally pull the full value out of the gift card, when only a fraction was needed for the stay. They needed overnight to correct that (because only the manager coming in the next morning could do that). Luckily this was a 3-night stay for me, so I had plenty time since I'd done it at check-in. But I'd hate to have waited until check-out to do the gift card and then have something like that happen.
I've also run into cases (more often than the above) where the person I first talk to at the front desk doesn't know how to handle payment from a gifrt card, and needs to find another (more experineced) person to show them how to do it. If I'm short on time when checking out (as I usually am) but have more time when checking in (as I usually do), that's another reason I prefer to do it at check-in.
Finally, if Marriott isn't the only hotel program that you use gift cards in, be aware that some other hotel programs cannot accept gift cards at all at checkout, only at checkin (because in those programs the gift card processing takes hours). So I find it simpler to have one procedure that works at all hotel programs, rather than having to rememmber "I can do this at Marriott but I can't do it at hotel program X".