Il y a beaucoup de bonnes réponses ici, alors laissez-moi vous proposer une autre façon de voir les choses...
Il n'y a pas d'excès quand on codifie. Il ne vous coûte rien de taper @override, mais les économies peuvent être immenses si vous avez mal orthographié le nom d'une méthode ou si vous vous êtes légèrement trompé dans la signature.
Pensez-y de cette façon : Pendant le temps que vous avez passé à naviguer ici et à taper cet article, vous avez utilisé plus de temps que vous n'en passerez à taper @override pour le reste de votre vie ; mais une erreur qu'elle évite peut vous faire gagner des heures.
Java fait tout ce qu'il peut pour s'assurer que vous n'avez pas fait d'erreurs au moment de l'édition/de la compilation, c'est un moyen pratiquement gratuit de résoudre toute une catégorie d'erreurs qui ne peuvent être évitées d'aucune autre manière en dehors de tests complets.
Pourriez-vous proposer un meilleur mécanisme en Java pour garantir que lorsque l'utilisateur a l'intention de remplacer une méthode, il le fait réellement ?
Un autre effet intéressant est que si vous ne fournissez pas l'annotation, vous serez averti au moment de la compilation que vous avez accidentellement remplacé une méthode parente, ce qui pourrait être important si vous n'aviez pas l'intention de le faire.