For that same example, you can accomplish the job in one substitute command:
:%s/.*/"&",/
The & special character gets replaced with the whole matched pattern.How do you escape the & character? I have been bit by this (not escaping &) a few times but never enough to have found the answer.
The same way you escape anything - with a \. E.g. if you wanted to substitute the character x with the sequence &/\ you would type
:s/x/\&\/\\
Likewise - with visual mode it's normally pretty quick to select an area and do a basic regex, even for things like re-indentation (auto-completes to something like :'<,'>s/^/\t/) even though I'm sure there's a 'proper' way to do that
Unless I use a feature regularly I find it's a higher cognative load. I use bash, sed and perl regexps on a near daily basis. Macros are very rare.