Расширения классов @interface Class () намного мощнее и могут вводить переменные в класс. Категории @interface Class (Категория) не может.
@interface Class ()
@interface Class (Категория)
Какие еще есть различия, и когда следует использовать категорию вместо расширения класса?