Those are entirely different operational models.

While people do often use pis to do things you could do with an esp32, an ESP32 cannot do the majority of things a Pi can do.

Over time the Raspberry Pi use case shifted more and more away from GPIO. They all still have it but probably most of them are used as a Linux computer without ever touching the GPIO now. The people who do use GPIO on a Raspberry Pi are often better off using an ESP32 because they have better control of GPIO, consume far less power, and are actually cheap.

Personally I use ESP32s for GPIO to control things around the house and have one Raspberry Pi acting as a hub.

I've been doing home electronics projects since around 2013, I used to use Raspberry Pi's for everything from lighting control to robots, camera projects and lots in between (I even had a mechanical keyboard with a Pi inside) and a massive collection of hats and addons. These days, I can do 99% of what I need with tiny little ESP32 variant boards for a fraction of the cost and significantly less complexity. Hell, you can even get esp32's with really nice touch screens attached for dashboards / animations. I built a whole cyberdeck using an ESP32 and no computer in-sight.

their RP1 IO chip is such a disappointment for high performance GPIO use cases as well, literally can’t trust any IO decision they make after having hacked on that chip

The full size Pi has less and less of a niche. GPIO / low power edge? ESP32s are great. Signage? The pi isn’t really all that great, and is expensive, get a cheap N100/150. Hacking on Linux? Literally anything else.

In many cases that’s an advantage. Tiny (or no) attack surface, less power, etc

The attack surface maybe smaller but less eyes on the firmware images for sure.

At least most my ESP32s are off any net, and pretty low stakes applications.

Most of the time it's some UART or BT proxy for me, maybe toggle a light, etc. Sometimes it's all of that in one. Plenty of power for it lol.

> Those are entirely different operational models.

In some of the tinkering applications, RPis are shoehorned into the very operarional model that is followed by ESP32s.

ESP32s may be harder to debug but they allow us to remove a big chunk of the complexity that lies between our code and what we want the device to do.

I think your criticism is more in line with "they are not exactly the same as RPis". And that is fine.