So to put it crudely, using no LibNDS would be like writing in ASM (probably technically not true, but it's just an analogy to make things clear), using LibNDS is like using C++ and NightFox is like using Allegro or SDL or such?
You can't write directly in ASM unless you have an Assembler/Compiler. Any programmer can write in ASM (Even for the DS) using gcc compiler, but can't without a compiler.
It is too hard for a human to write in assembly (Or even C++) without a library (Libnds in this case) that controls the hardware and provides functions to control the hardware.
And yes, using libnds (Not only C++) and NightFox is like using SDL or SFML for the Computer.
The commercial games you see in stores are not hardly programmed, since they use an Engine to make it easier for them to program the game. Very few commercial game programmers can program a game using raw OpenGL. I use the semi-OpenGL included in Libnds to program 3D for the DS. I hate commercial game programmers that use Engines to make it easier for them to program, and then they sell the games with an expensive price (It is a good thing that I download free pirated commercial games), even graphic designers work harder than commercial game programmers!!