Siempre debe intentar comprender el sistema de compilación que está utilizando.
Eso no significa necesariamente que deba poder crear todos los archivos de compilación a mano. La parte importante es comprender qué está haciendo el sistema de compilación para su proyecto y la capacidad general de compilar pequeños proyectos manualmente (como en "escribir comandos en una terminal").
Solo tiendo a pensar que crear Makefiles (simples) es el paso más fácil para comprender lo que está sucediendo, pero es posible que tenga otros medios para comprender cómo construir cosas.
Por qué / cuándo aprender Makefiles
Si sigue programando solo para Windows y no espera que nadie más compile su código, siéntase libre de compilar el código como desee.
Si desea programar el compilador agnóstico (como en "dejar que otros decidan qué compilador o IDE quieren usar"), entonces debe aprender otro sistema de compilación que simplemente dejar que su IDE "se encargue de ello".
Si desea programar para diferentes plataformas, entonces ciertamente necesita usar un sistema de compilación generalizado.
Eso todavía no significa que deba saber en detalle cómo funcionan los Makefiles autogenerados. Solo tiene que saber cómo funcionan los archivos de entrada para el sistema de compilación. Es posible que a veces tengan una sintaxis similar.
Personalmente, me gustan mucho los Makefiles y los uso para muchas cosas. No solo compilando código. Creo un Makefile para cada PDF más grande que creo (con LaTeX) y para cada proyecto en el que necesito automatizar un par de tareas (construcción, empaquetado, carga, actualización de dependencias desde repositorios de origen, copias de seguridad manuales de extracción / inserción)
Sin embargo, estoy trabajando mucho en el terminal y estoy trabajando con Linux. No uso lo que llamarías un IDE que no sea vim (potente editor de texto) y herramientas de consola. Esto podría ser muy diferente para ti.
Si alguna vez se quejó de tener que ejecutar diferentes comandos recurrentes solo para "actualizar" / paquete / cargar / ... un "proyecto", entonces aprender a escribir Makefiles podría ser algo útil para usted.
Si tiene y usa herramientas / GUI / IDEs para todo, entonces es posible que no obtenga nada de ese conocimiento.