At its core, The ESP8266 is a low-cost Wi-Fi (b/g/n) microchip, released in 2013. With ESPHome, it can be used to read sensors, build lights, and more.
ESPHome (previously known as esphomelib) is a tool with which you can create custom firmware for ESP8266 and ESP32 boards.
GPIOs are what ESPHome uses to gather data from sensors, detect button pushes, push data to other devices, and more.
The ESP32 is a low-cost, low-power, and ESPHome-compatible system on a chip microcontroller.