With a join model the relationship is symetrical. Each user can have
many friends and can be the friend of many other users, similar to a
has_and_belongs_to_many association. With the self referential
association you describe, a manager can have many employees but an
employee can belongs to only one manager (like a has_many, belongs_to
association). So which one to use depends on the requirements.
Colin