Ответ 1
Ответ лежит в возвращаемых значениях. containsObject возвращает YES или NO в зависимости от того, принадлежит ли тот объект, который вы отправляете, к этому конкретному набору.
member возвращает id, что означает, что он возвращает фактический объект, если этот объект является частью набора.
В качестве примера у вас есть NSSet, aSet, с объектом anObject. anObject принадлежит к набору.
[aSet containsObject:anObject]; //returns YES
[aSet member:anObject]; //If the set contains an object equal to object (as determined by isEqual:) then that object (typically this will be object), otherwise nil.
Если anObject не существует в aSet:
[aSet containsObject:anObject]; //return NO
[aSet member:anObject]; //return nil