Once a task has been automated to the point that a reliable mass market tool is available to do the work for you, what possible reason can there still be to do it by hand any more?
Fair point. But one remaining reason to have done it yourself is to understand how the tool actually works behind the scenes. And that deeper understanding is generally what separates a master of the craft from dabblers.
Slightly different field, but, for instance, if you are doing any amount of real numerical programming, you really should have implemented a floating-point system as well as algorithms such as FFT, matrix factorization, numerical integration and the trigonomertic functions at least once.
You should of course not use any of your own implementations in production; that's a recipe for disaster. But having done it once, and understanding some of the underlaying theory and the challenges of implementation means you're much better equipped to use the high-quality library versions in an intelligent manner. You'll understand why functions such as expm1() actually exist and how to avoid the common numerical pitfalls.
The same really goes for tools in any other field. You might want to do it manually not to actually use your work but to better understand when and how to use the tool. Or, for that matter, realize when the situation calls for implementing a completely new tool.