Например, у UITable есть два делегата, UITableDelegate и UITableDataSource ...
Допустим, вы хотите создать подкласс UITable, и ваш вновь созданный подкласс должен не только расширять функциональные возможности UITable, но и управлять его содержимым. Поскольку содержимое управляется UITableDataSource-Delegate, ваш новый подкласс UITable будет реализовывать этот протокол, и вы будете устанавливать делегат UITable для себя.
Надеюсь, это поможет!