It only needed one bit of input and one bit of output and the code fit into an 8-pin Tiny AVR and was probably just about a kilobyte of compiled C. The chip cost less than $1 in single units.
ARMs are nice and everything, but orders of magnitude overkill for the thousands of small devices like this.
I mean, at the end of the day, the tool you know is the tool you should use, but it's more difficult to quibble about the technicalities of it all the time.
I would argue that the biggest barrier to Cortex M0/M3/M4 adoption in the hobbyist/maker/startup community is the lack of coherent open tool chains. Many of the cheap programmers will only program a subset of chips, many pre-canned compilers don't include various features (Many lack support for the M0+, or the FPU on the M4F chips), it's almost impossible to get code working on a chip without delving into a vicious hellscape of linker scripts, and many manufacturers license their peripheral libraries under onerous non-free/non-open licenses.
I could program an AVR with one hand tied behind my back using an entirely open toolchain. Until I can do that with even a single manufacturer's Cortex Mx offerings, the AtTinys and AtMegas will be sticking around. I want to work on my project damn it, not debugging my toolchain.