On the plus side: Many macros are useful to write code more quickly by reducing boiler-plate, abbreviate, etc. It may make the code more maintainable, by avoiding repetitions which would need to be updated in sync during a refactor. (Although, I think, that problem can often be solved with more careful code design.)
On the negative side, it makes your code much harder to read, for other people or your future self. This will decrease contributions from others, as they need to learn your meta-language first, and may impede the maintainability of your code by yourself.
So, for long term projects or projects where you expect/want outside contributors, I think limiting macro usage probably makes sense. This conversation from another thread between @osofr
and Mike Innes (one of our top macro-gurus) illustrates my point nicely:
gets the reply