It's like saying that "Why use assembly at all? GCC could generate anything." Well, yes. But you're on an x86 machine and there's an assembler right there for GCC to use, and GCC has been using that assembler for decades.
Manipulating files is trivial in any programming language expect maybe in something like C,C++,Java,etc.
Python/js/go make it really easy to deal with complex build systems or even just 1 liners.
So I have no idea why make has any advantage over those - only use-case is if you are writing C where its non-trival to do file-handling.
I moved to npm scripts once I asked the question "how do i make a multi-process build script in make ?"
and all the neck-beards in uni had no answer - so I just write small scripts which grow and shrink based on my needs.
No idea how you missed the -j option.