¿Por qué el diseño nulo y las posiciones absolutas son una mala práctica en Java Swing?

Tengo código con panel nulo:

JPanel thePanel = new JPanel();
    thePanel.setLayout(null);

y usé setBounds (x, y, ancho, alto), por ejemplo aquí:

label2.setBounds(150, 220, 459, 311);

Leí que esto no es una buena práctica, ¿puedes decirme por qué? ¿Es solo porque cuando desea agregar algo entre un componente y otro tiene que establecer sus posiciones una y otra vez o es algo más?

Estaría muy agradecido por la respuesta, gracias! ;)

Respuestas a la pregunta(1)

Su respuesta a la pregunta