Realmente boa pergunta. Eu sempre me perguntei sobre isso por alguns anos subseqüentes no passado, pensei que havia alguma razão legítima por trás disso, mas realmente não existe.
Penso que a resposta é bastante simples, e muitas respostas não estão realmente a aprofundar a questão.
Se o seu idioma permite desenhar o piexel na tela, é 100% possível criar uma estrutura de GUI baseada nela, que imitará a aparência e a sensação dos controles de formulário do Windows com precisão.
Como o Java é multiplataforma, também é inteiramente possível garantir que, com base no tipo de sistema em execução real (Mac / Windows), a interface do usuário opte por parecer diferente nas duas plataformas, correspondendo ao estilo da plataforma de tempo de execução.
Como você pode ver no XAML, por exemplo, a interface do usuário pode ser facilmente apresentada em forma e linguagem muito estruturada. A escolha dos comportamentos "nativos" também é possível se houver tempo para fazer isso.
Portanto, seria possível criar uma estrutura de GUI que permitisse aos desenvolvedores Java obter aplicativos que pareciam nativos no Mac e no Windows.
Então, chegamos ao Swing, que é apenas uma estrutura de GUI do potencial infinito de estruturas de GUI que pode ser criada para Java. Ele se comporta como foi programado, o que não segue o processo acima e você obtém aplicativos de aparência estranha nos dois sistemas. Essa é a escolha feita pelos desenvolvedores do Swing, ninguém os forçou a fazer isso e a se comportar dessa maneira.