The lack of recall led to severe perf problems. He had a hard time fixing bugs quickly on code he had written. A significant change from the past, I presume he has started smoking a lot of weed.
This sounds more like they’re burned out. Subordinates going from great to terrible usually means the business is failing them, not they suddenly “started smoking a lot of weed”. I would take a hard look at your job as a manager.
Yeah that is sad. Software engineering for the most part has become "standardized" and it is unfortunate this individual either missed the boat on the upskilling or just ran out of steam/luck from what may have been (possibly successful) cowboy coding days!