In Scheme, it's basically impossible to write a non-hygienic macro, and in Clojure, there are no name collisions and it takes extra work to variable capture.
Oh, that. That is one of those problems people talk about but no one has.
While people can certainly write macros correctly and avoid them, this takes experience
No, it doesn't. It's trivial to call gensym.
Edit: I'm not saying that CL's way is the best, just that this question gets way more attention than it deserves.
[edit: noted that I'm talking specifically about Common Lisp]