¿Diseño dinámico vs XML en Android?

Soy nuevo en el desarrollo de Android y he comenzado a crear mi propia interfaz de usuario. Veo que puedes crearlo dinámicamente algo como esto (Diseños dinámicos):

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ScrollView sv = new ScrollView(this);
    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    sv.addView(ll);
    TextView tv = new TextView(this);
    tv.setText("Name");
    ll.addView(tv);
    EditText et = new EditText(this);
    ll.addView(et);
    Button b = new Button(this);
    b.setText("Ok");
    ll.addView(b);
}

Pero también veo que NetBeans tiene un archivo.Recursos-> diseño-> main.xml. Para que pueda crear un diseño XML para la interfaz de usuario (Declaración de diseño XML):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="Hello World, AndroidTest"
    />
</LinearLayout>

¿Entonces mi pregunta es cuál debo usar? ¿Qué se recomienda y cuáles son las ventajas y desventajas de los diseños dinámicos frente a los diseños XML en el desarrollo de Android?

Respuestas a la pregunta(7)

Su respuesta a la pregunta