They're not wrong. When I build something, it's mine and I control it. I get to learn about all sorts of interesting stuff, making me a better programmer in the process. If I publish it on GitHub, it becomes résumé material, helps other people and might even start a community if enough people start contributing. I get to contribute to the state of the art in free computing, advancing it not just for myself but also for everyone else.
If I pay for something else, I don't get source code, I get borderline malware that spies on me constantly, I'm subjected to idiotic non-negotiable terms and conditions and I'm at the mercy of some gigantic corporation that can kill the product at any time.
We don't pay for "something better" because it's not actually better at all. We're not laymen, we actually understand the fact it's a shitty deal. We're not some mindless consumer companies can just dump these products on. We have the power to create. The more we use this power, the better off we are.
I suspect the reason is the fact that not all developers live in the bay area, and $60 is a good money for them, and could worth more than 2 days.
Also if you code for fun anyways, you might as well build what you need, and get chance to use that shiny new technology while you do it. You save money, have fun, improve your resume, share projects with your friends and communities for kudos, all at the same time.
If I can do it in a way that's better suited to my use case, learn something from it and/or entertain myself, that may not be as bad a tradeoff as it may otherwise seem.
Reinventing wheels out of plain curiosity has exposed me to a variety of problems and their solutions, and I believe it exercises my general problem solving skills.
A big part of programming is learning. You need to learn. It's not only about learning a programming language. Programming language is just a tool. What you need to learn is:
1. How to use that tool effectively
2. How to build better products with it.
You are never done learning those. And the best way to learn is to (at least try) to build it yourself. Therefore I think it makes sense for programmers to try to build it.