Growing up, I always loved getting to see people from school / school clubs (e.g. FSAE team, photography, etc) out of the normal context. It really opens up relationships and helps you figure out how to work better as a team.
If someone's not there because they don't want anything to do with work after hours, it's hard to treat them fairly -- the people who do show up are going to start viewing them as an outsider, and they might get passed up on promotion for someone that the higher-ups got to know better after office hours. So, objectively, having a happy hour probably tends to punish the people that don't show up, turning it into a mandatory function. I'd never really thought about it that way.
That said, I'd still prefer to have them.