Because you wrote
CXXFLAGS += $(CXXFLAGS_$(FEATURE))
which, when you supply FEATURE = off
on the make
command line, will expand to
CXXFLAGS += $(CXXFLAGS_off)
which, because you have also defined
CXXFLAGS_off = -DFEATURE_DISABLED
in turn expands to
CXXFLAGS += -DFEATURE_DISABLED
which means that the compiler will be run with -DFEATURE_DISABLED
as an extra argument.