On my planned site, users will need to get admin approval to join. The admin will assign them to a group, which will take care of permissions, etc. So far, trivial.
The part that I haven't been able to figure out, is that I'd like different profiles depending on the group.
So, for example, "Programmers" would have profile fields listing language experience, certifications, etc, while "Artists" would have exhibition CVs, honors, preferred media, and "Writers" would have publication lists, books, etc. There would be some common fields, like contact information.