С логической точки зрения отдельные домены или сосуществование нескольких приложений в одном домене похожи (вы можете настроить порты HTTP и т. Д.).
Основное отличие состоит в том, что в одном случае у вас есть одна JVM, на которой запущены все приложения, а в другом случае у вас есть несколько JVM. Это может иметь большое значение. На одном из наших сайтов для клиентов мы первоначально развернули все в одном домене / JMV, но в итоге решили разделить развертывание на несколько доменов / JVM, поскольку это обеспечивало лучшую производительность, особенно время сбора мусора. Так что да, приложения могут вмешиваться, но очень косвенно.
Кроме того, приложения Java EE не могут быть отключены или запущены, поэтому домен - это наименьшая единица, которую вы можете включать и выключать. В некоторых случаях это удобно.
И, наконец, есть вещи для каждого домена, например, приложение. Уровни журнала сервера, постоянство таймера и т. д. Если вам нужны два приложения с разными настройками для таких вещей, вам понадобятся два домена.