I sometimes view the M5Stack as a neat substitute for an Arduino (I guess it all depends on what you plan to do). I was attracted to it because it’s modular, comes in a cool case and has a built in display and buttons (Carrying around a board and wires wrapped in gaffer tape isn’t a good look).
I bougth the Fire version because it’s red and has some additional built in sensors that the other versions don’t have (Mostly, if I’m honest I bought it because its red). If you buy this version then you loose the use of some of the ESP32 IO pins, but you pays your money and you takes your choice!
There’s also a range of backpack styled modules available. They get attached to the back of the unit (Duh!) and are held in place by magnets embedded in the case. All in all, quite a fun product to play with. I shelled out further and bought a GPS backpack. WiFi and Bluetooth are built in, so that meant I could write some war driving code and maybe do some Bluetooth scanning. With the addition of a usb battery bank, it seems to work very well!