For ESP32 boards, you can use either framework:
In short, ESPhome uses the
arduino framework libraries as a middle layer in the stack, so using
esp-idf framework cuts that out3. But for some boards, it can
be easier to use the
arduino framework (for example using I²C on an ESP32 S2 Mini).
For ESP8266, there only exists the
See the boards page for my collected notes, references, links, datasheets (and etc) for boards that I have used.
One board that I have not tried, but seems quite interesting as well as unusually well-designed: QuinLED-ESP32.