Sometimes it depends on your hotel. Some do extra night(s) free, others do children free, others are free dining plan. These can also change depending when booking.
Generally though there is always some kind of offer on, and when the date for an offer passes you will find that another one is available straight away. the call them booking early, for December I think you need to have something booked by end of September to qualify. And of course the later you leave it your choice of hotel may be reduced as they get booked up, depending on when you want to be there. We go mid-week, and aren't fussy on hotel so have never had any issues, however if there is a particular hotel you want at a weekend close to Christmas, you may need to book earlier.
This time we got stay an extra night free for December. Whereas last year we got free dining, but to be honest it mostly works out roughly the same price.