In some ways the Gecko 540 can be considered to be like a breakout board, as it does supply some extra input/output pins. It connects directly to a parallel port cable, and many machines just have the computer’s parallel port directly connected to the Gecko g540 as the main machine electronics component. With this setup there are just a few pins worth of additional I/O however, so you can connect 3 home switches for example, but not enough to handle limit switches on each end of each axis.
When connected this way (computer to Gecko 540 via parallel cable), the computer is doing all of the very time sensitive step and direction generation (it takes many thousands of pulses per second being generated to coordinate the movement of a cnc). Trying to do this and simultaneously update the screen, translate the gcode into steps, read data from the gcode file, etc. is a lot going on. On the older (slower) computers that still have printer ports, this could lead to issues. In addition, there are limitations on how long of parallel cables can be used.
As I stated above, the ESS connects to the computer via an Ethernet connection instead of a parallel port. It is a small circuit board and contains its own micrcontroller. This means that instead of the computer generating all of the tens of thousands of individual step and direction pulses, this function is offloaded to the dedicated hardware on the ESS board which was specifically designed and programmed for this, and doesn’t have to do anything else. In fact, it is so efficient at this ask, it actually pretends to be 3 complete parallel ports. One parallel port can be used to connect directly to a Gecko 540, leaving two parallel ports worth of pins for additional i/o, if you look at the build of @difalkner
you will see that he controls relays for his cooling pump, all his limit switches and more, using some of those extra I/O pins available vis the ESS.
The are separate devices, but can work together to make an effective cnc control system, but the ESS is not required
to use a Gecko 540, and cannot be used instead
of the G540.
There are other available components that are alternatives to both of these parts, a UC100, UC300 or UC400 are similar to an ESS. There are other stepper drivers than a G540 such as the Leadshine mx3600 or 4600 or you can use separate, individual drivers for each stepper. Lots of options.
I chose to use both the ESS and G540 and have been very satisfied.