Хотелось бы подметить, что для больших проектов использование XML вместо аннотаций удобнее, т.к. можно последить весь маппинг в одном месте. Когда же маппинг размазан по классам, навигация становится затруднительной. Естественно, это относится к тому случаю, когда используемая IDE не поддерживает визуализацию маппинга, построенного на аннотациях.
Вторым аргументов в пользу XML является то, что при поддержке сервера с рабочим приложением при отсутствии актуальных (для данной конкретной версии) исходников наличие файла с маппингом — большой плюс.
Я не зря подчеркнул слово «актуальные».
Проблема в том, что обычно в репозитории лежит рабочая версия кода, а на сервере — последний релиз. При этом иногда случаются форс-мажорные ситуации, когда в результате хот-фиксов релиз не соответствует НИ ОДНОЙ сборке из репозитория. Редкость, но все-таки иногда случается. В этом случае наличие XML предпочтительнее аннотаций.
Введение в Spring MVC с аннотациями