Il y a un avantage de sécurité à fournir des messages génériques qui n'ont pas été mentionnés.
Alice tente de forcer brutalement un compte sur le serveur de Bob. Pour les premières tentatives, Alice récupère le message "Echec de la tentative de connexion". Lors de la prochaine tentative, elle obtient "Trop de tentatives de connexion à partir de cette adresse IP". Elle est maintenant consciente que (a) toutes les informations d'identification qu'elle a essayées jusqu'à présent n'étaient pas valides, et (b) elle doit faire quelque chose de différent avant de faire d'autres tentatives.
Mais qu'en est-il si Bob ne change pas le message? Alice continuera avec la force brute et continuera à obtenir la "tentative de connexion échouée" générique à chaque tentative même si les informations d'identification sont correctes . Si elle essaye les informations d'identification correctes, Bob rejettera la tentative car la limite IP a été dépassée, mais Alice ne saura pas que c'est la raison et devra la traiter comme une tentative incorrecte (à moins qu'elle n'en ait manière de savoir ce qui dépasse le cadre de cette question). Sa seule option est de poursuivre la recherche, sans savoir si elle a déjà localisé et dépassé les informations d'identification correctes.
Notez que cet avantage est la sécurité par l'obscurité car il se fie au fait qu'Alice ne connaît pas la politique de blocage IP de Bob. Selon la configuration, ces informations peuvent être faciles à obtenir. Par exemple, si Alice a accès à un autre compte sur le système (facile si elle accepte l'enregistrement d'un compte public), elle peut utiliser des essais et des erreurs pour voir si une tentative correcte est finalement rejetée après trop de tentatives incorrectes.
D'autres réponses ont expliqué le compromis sécurité / convivialité, je ne vais donc pas me donner la peine de le répéter.