While it's nice to know how your computer is put together, I stopped building computers 5 years ago and prefer to spend a little more money to get something that's been tested. Same with my house - I don't build stuff in my house because it's a better use of my time and money to pay someone.
All of those apply to my coding tenfold because the more productive I am at coding, the more I get done. The more I get done, the more I can charge per hour. Thus, CPAN brings more money into my family. That's why I use CPAN.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?