I think it just depends on the company. Rather than a Christmas party - my employer has a 'New Years Ball' (smart dress required - some wear black tie & ball gowns) usually toward the end of January. Apparently it's cheaper to have it then. Also, since we have probably around 500 employees (a guess), it's also just employees only - no spouses or partners, again because it would just get too expensive to do that (not to mention finding a big enough venue). It's usually a nice enough do - catered meal with wine, etc, followed by annual company announcements and a disco. I went the first couple of years, but it's lost its appeal - mostly because I can't take my husband. Also, unless I want to get drunk and dance with anyone/everyone (there's always some scandal being discussed afterwards), it's really kind of boring - the big cheeses' speeches are boring etc. I'm not going this year & a lot of people opt not to go. I don't care about bonding with my workmates - the time I spend at work is bonding (bondage?) enough. Also some of the big cheeses are allowed to bring their spouses & partners, but nobody else is, so it all gets a bit hypocritical - for that and other reasons.
My husband's company opted not to have an official Christmas party this year - but when they've had one, it's usually been employees only, I think. He'll still probably go for a night out with his immediate work mates - but he works with a bunch of guys, and I've never been much interested in joining in - though I probably could if I wanted.