Customization of message handling can become a desired tweak in your application. Think of changing how messages are handled or what parameters will be injected into your message handling functions.
Overriding annotations can be very useful when implementing best practices that have been established within your team, providing defaults or restrictions of how annotations may be used. However, they can also be very useful when special behavior needs to be added to message handlers based on the presence of an annotation.