But there's a lot of things I can do with a Raspberry Pi [5] that I can't do with the M600.
Some examples off the top of my head:
I can't do hardware tinkering with it, like plug in a DS18B20 temperature sensor or blink an LED (or a video wall worth of WS2812s), due to lack of accessible GPIO. There's huge swaths of interesting projects that this lack of GPIO cuts out completely. (I'm thus also not particularly interested in using an M600 as a Klipper host for my custom 3D printing rig.)
I can't attach random PCIe devices to the M600 (as far as I know) to do things like run Stable Diffusion or run a small storage array (homebrew NAS!) due to the lack of an accessible PCIe interface.
The package is small by x86 PC standards, but it enormous by Raspberry Pi standards. Consequently, I'm not taking an M600 with me in my backpack to a hotel to tinker with when I'm out of town for work (whereas I barely notice a Pi in my backpack).
And the M600 is frankly pretty boring. Raspberry Pi devices are fun to goof around with, whereas dealing with the M600 feels exactly like dealing with my desktop PC feels (only slower). Having fun with computers is very important to me, and learning-oriented SBCs are a lot more fun than stodgy corpo off-lease "thin client" PCs are.
And speaking of off-lease: The M600 was already well-used when I got it. It showed up in good condition and I think it represented a good value at the time that I bought it, but newness matters.
It -especially- matters in a price comparison.