I'm all in favor of reusing my own replies to customers as long as I customize them. I'm just saving myself some typing. I teach others to do this as a way to optimize their workflow and save the typing, but not the thinking.
What most people intend to do is to optimize themselves, but what they end up doing is automating themselves. Overusing predefined replies, no matter well written, turns one into an automaton.
I lead a technical support team - we have very well written macro responses for a variety of topics, some technical and some not, but almost always we modify the boilerplate with ticket-specific context. There's no reason why I should type the description of a Request Timeout error 15 times per day, but it's certainly worth the effort to include that pre-written information with some relevant context.
What most people intend to do is to optimize themselves, but what they end up doing is automating themselves. Overusing predefined replies, no matter well written, turns one into an automaton.