My projects are almost always battery powered, and the low sleep current of AVRs makes a difference. And from my memory, ESP32s do not return to the next instruction after waking from sleep. They reset on wakeup. Also, AVRs retain GPIO state during sleep. I don't think ESP32s do that, at least not reliably or by default. Another problem I found, which may have changed, was finding good datasheets on ESP products - info on registers and such. For understandable reasons, that was particularly true for the ESP8266. I don't know where things stand now with the ESP32. And then there's the watchdog timer, or should I say timers, which you can't shut off. I'm not a beginner, but I find the ESP stuff difficult to work with despite being very powerful. But mainly, it's the sleep current.