NDEBUG is the traditional, standard way of removing the assert() macro (look into assert.h). There is nothing magical about it, just define NDEBUG in the project options, that is all.
Every modern C book should contain an explanation (my copy of Kernighan/Ritchie from 1977 does not).
Some library maintainers think they are Smarter than the standard and do their own thing. They sometimes expect RELEASE to be defined, or they expect BUILD to be set to either DEBUG or RELEASE.
That is of course possible, it just isn't very good practice, as it adds complexity that is just not necessary. It requires third parties using the libraries to remember extra stuff when they could have had it a lot easier the standard way.