どちらが使用されるかは、構成内容、構成の使用方法、プロジェクト/文化的な規則などによって異なる場合があります。IDEのサポートがあれば、より便利で信頼性の高いものになります。
個人的には、私はXMLとアノテーションの両方を使用していますが、特に大規模なプロジェクトでは、多くのタスクでXML構成を使用する傾向があります。たとえば、Springの場合、私はXML設定が好きです。よりローカライズされた設定自体、設定チェンジセット、環境固有の変更(テスト、サーバベースなど)の管理が簡単です。
他の構成の場合、注釈はしばしばより適切で便利です。ほとんどまたはまったくドメインクラスのカスタマイズをしていないクイックプロジェクトでは、Hibernateアノテーションがより便利かもしれません。
最終的には、純粋に技術的なものではなく、好みと便宜の問題です。 (XMLと注釈が異なる機能をサポートしている場合を除き、より完全な機能を提供するものもあります。)