Those that come to mind were stuck in dead-end programming jobs because they knew only older technologies and supported clients that would not refresh their systems.
One in particular was overworked, underpaid, and cast aside as soon as the one client he supported stopped having enough work to justify a full time position. He was a great guy, smart, great at classic ASP, but he was not receptive to learning new technologies. And he couldn't type. He hunted and pecked at the keyboard. He thought through the code in his head to prevent having to type out code that wouldn't work.
I am scraping my memory, trying to find an example of an older coder that I admire, and I can't find one. I think this is really unfortunate for me, because I know they're out there.
However, there are some network guys I've worked with that knew EVERYTHING. These guys were running dial-up POPs and colocation facilities in the '90s (mid 30's at that time), and now they run all the tech at a local ISP's backbone. These guys were amazing, and I can only imagine I'd continue to be impressed if I kept working with them. The difference? Every time there's a new switch, they learn it. IPv6--they were ready early on. New technology was sought out by them and they craved to understand it all.
For this reason, I think you have to chase at least one or two "fads" once in a while to stay sharp. Otherwise you become complacent, as you are still making a living without doing all that "pointless" work of learning new techniques, frameworks, tools, or languages. But then you may realize that you weren't paddling your boat for those last few hours, and you can't really see land anymore.