Ответ лежит в возвращаемых значениях.containsObject возвращает YES или NO в зависимости от того, принадлежит ли отправляемый вами объект этому конкретному набору.
элемент возвращает 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