The N900 address book can merge multiple contacts into a single entity: if you have a friend that has a phone number, an email address, a Jabber user name, a MSN one and so on, then you can merge all of the different entities into a single meta-contact.
The different IM contacts are tracked through their username and should be immutable, but yesterday Facebook changed all the IDs from something like “[email protected]” to “[email protected]”. For the address book this means that all the previous contacts were deleted from the IM roster and new contacts were added, so you get duplicate contacts. Moreover, when a contact is removed from the roster we leave the IM user name in the contact details, if you click the button you can add the contact back to one of your rosters. In the Facebook case this means that you end up with all of your meta-contacts with a useless button that cannot do nothing.
The fix for this is to remove the old IDs and merge your contacts again, simple but tedious. A better way to do it is to be patient and wait until I finish a program that will do it for you in a few click
 Actually, some changes in the IDs are possible for normalisation purposes; if you add “[email protected]” it will become “[email protected]” in your roster. (And yes, the normalisation is buggy in PR1.1, but it will be fixed in PR1.2.)