Недостаток один - нужно выделить время для написании / поддержки.
Остальное - только плюсы. В двух словах: если нет тестов - нет никакой гарантии работоспособности приложения. То что оно, кажется, работает - случайность.
Я бы разделил приложение на два микросервиса. Так точно можно добиться такой изоляции.
Вторая идея (если микросервисы почему-то не устраивают) - посмотреть в сторону Spring Reactive.
Проблема в отрисовке panel. Если вы попробуете изменить размер окна - оно перерисуется вместе с вашими изменениями.
Можно добавить panel.updateUI(); после panel.add(table);