Имхо, но мне кажется, что основная проблема Java, когда её оценивают в контексте GUI, заключаются в том, что многие люди до сих пор пишут про покрывшийся путиной и пылью Swing, одно только упоминание которого вызывает уныние. Хотя ему на смену уже давно пришел JavaFX. Под JavaFX даже SceneBuilder есть, который сильно упрощает и ускоряет процесс создания UI (напоминает работу с Acitivities в Android разработке) и тут, кстати, тоже можно применять CSS.
Да, разумеется, в плане GUI Java не идеальна, но и плохой называть её уже сложно.