I tend to jump straight to Emacs Lisp for anything more complex than trivial keyboard macros. It's well worth learning how to perform text manipulation in that environment.
I once programmed Emacs to convert an entire component of Windows Phone from Hungarian notation to something saner.
I do too. Trivial macros come up very often when I'm using editors other than Emacs - I'd typically create and play back one every few minutes in other editors - but far more rarely in Emacs. Like I said, multiple cursors fills a very similar hole better, because it's not as sensitive to a C-g in the minibuffer.
I once programmed Emacs to convert an entire component of Windows Phone from Hungarian notation to something saner.