You should use that a lot with lisp (or rather use it for projects that require you use it a lot). The secret sauce of lisp is that code is data.
Instead of using hacks like c's function pointers, lisp lets you pass code around as easily as any other variable type (1st class functions) instead of just pointers to the code. You can then exploit this ability to make code that will generate code on the fly and then execute it (macros). The homoiconicity of the language itself makes it much easier to make useful macros as opposed to just toy examples.
Since lisp and c are both turing complete, anything you can do in one language you can do in the other, but lisp's macros, 1st class functions, and homoiconicity make it possible to actually write something that would be almost impossible in c due to complexity issues. For example, in Cal's old intro cs course which used a lisp dialect, the last project of the course was writing a meta-compiler for the entire language. In contrast, Cal's compiler course uses c++ to compile only a small subset of python2 over an entire semester, and is considered one of the hardest classes due to the project's complexity.