¿Cuándo utiliza la generación basada en DOM en lugar de usar strings / innerHTML / JQuery para generar contenido DOM?

Me preguntaba cuándo usar la generación basada en DOM versus .innerHTML o agregar cadenas mediante el método .append de JQuery. Leí un post relacionado aquí¿Debería agregar HTML al DOM usando innerHTML o creando nuevos elementos uno por uno? pero todavía no estoy seguro del caso de uso para cada método. ¿Es solo una cuestión de rendimiento donde siempre elegiría uno sobre el otro?

Digamos queformar Es una variable arbitraria:

Generación DOM

            var div = document.createElement("div"),
            label = document.createElement("label"),
            input = document.createElement("input");

            div.appendChild(label);
            div.appendChild(input);

            form.appendChild(div);

JQuery

           $(form).append("<div><label></label><input></input></div>")

Respuestas a la pregunta(3)

Su respuesta a la pregunta