the GPIO node directly controls a Pi GPIO. Johnny-Five goes further and is designed to make it easy to control GPIO on an Arduino.
Ah, it now also supports Johnny-Five - I hadn't realised that.
Now I also see node-arduino. They all use the firmata method but other than that I'm not sure yet what the differences are.
I managed to get node-Arduino working except for a couple minor issues. But I cannot get contrib-gpio or contrib-johnny-five working on my rPi Zero W (or w7x64). Both libraries have problems with serialport.node & missing bindings file whereas node-Arduino works (it also uses serial comms). I still have not figured out the difference between the two, some how-to guides talk about Johnny five but then install the contrib-gpio library.
Have you ensured you have run
sudo apt-get install build-essential
To ensure you have the tools required to build and compile those nodes?
That was one of the first contributed nodes I seem to remember so things may have overtaken it over the years.