There are lots of delightful opinions about macros in Lisp, but I really cannot find a primer I can use in my every day workflow. I'm web developer, but use emacs for about 10 years. And I want to understand if macros are really useful for everyone, or it is just killer feature for very specific tasks.
Most of the primers using macros are tryings of making DSL on top of the lisp. Well it can be useful sometimes, but creating syntax extensions in commercial development is a bad practice as far as I understand. Most of languages has standard features like for, if, while, foreach operators, common conceptions like classes, namespaces, modules, closures(lambdas). So all programs are typically built from such pieces, and new programmer examining your code already knows that pieces and can operate them. And in case of DSL built upon macros, the programmer needs not only to explore business logic, but also learn your DSL. Commercial development gravities to typical solutions with easy support and high replaceability of programmers.
Next - creating template engines on top of the macros. Well, the industry standard now is Twig, Jinja2, Template Toolkit - you can create your own template system, but... It is 2015 now, not 2001 when Paul Graham's Viaweb was created. Modern templating systems are very similar to each other - they was developed for years and they have lots of conceptions like blocks, filters, inheritance, i18n. So in 2001 creating own templating engine had sense, but now there complex templating engines for all suddens of life.
Next - using macros to create algorithms independent on data passed to them. This conception makes sense, but does it really need macros? For example most of scripting languages support of passing functions by reference - that means you can create abstract function which will accept data and data-processing function as arguments. Of course you will need to create few data-processing functions to support all needed data types, but you will be able to pass all those ones to abstract function which will be short as comparable lisp macro.
Next - algorithms itself. Nowadays 90% of us, web-developers, are just using ready libraries and algorithms. So even if I'm totally wrong in previous paragraph, the role of macros is very small in our job.
So do you really use macros everyday, or you just arely shoot some problem with macros very elegantly and extrapolate that hapinees on next few monthes?