Аннотация является deprecated (и соответственно не рекомендуется к использованию)
Чтобы иметь возможность через Reflection получать дополнительную информацию о методах во время выполнения программы
Чтобы своевременно обнаружить изменение в сигнатуре метода у класса-предка (или интерфейса).
Чтобы пометить методы, которые обязательно должны быть перегружены в классах-наследниках
Чтобы пометить методы, которые обязательно должны быть переопределены в классах-наследниках