I have an event content type and I want to allow users to 'add' themselves to it the same as Facebook users would join an event. Any ideas?
I believe you are looking for the Organic Groups module (https://drupal.org/project/OG).
This module allows you set your current content types to be 'subscribed' to. Thus users can join a group, or event in your case.
The group can have administrators where they can manage and invite users, such as setting to them active, pending or blocked.
We recently created a Drupal module that would allow a group members to invite other users, even if they were registered or new.
Organic Groups will also allow you your members to 'post' content INTO the group. E.g. you could post pictures relating to that event.
It's quite easy to setup and many tutorials around.
Hope this helps, Amarjit
With Entity reference, this isn't very easy, because references are fields, and the permission management you need here is hard to do on a field level. You could still do it, but it would require a significant amount of custom work.
You'll most likely get a better "out of the box experience" with the Flag module, but you will get better flexibility with the Relation module.
I've tried to convince one of Flag maintainers that the Flag is a special case of the Relation module and so should be based on it, but he didn't want to add a dependency.
The Entity Registration module should be a solution.
Entity Registration is a simple, flexible module for allowing and tracking user registrations for events, or just about anything you want people to sign up for. Entity Registration can be integrated with Drupal Commerce to allow fee-based registrations: sell tickets to your stuff! This module is also handy if you want to collect information along with registrations: like shoe-size for a bowling event.