Motorbike analogy, it's like comparing a RS125 with a Tmax/Burgman maxiscooter...
On one hand, 400MB is still a ton of RAM to do useful work with -- and unused RAM is wasted RAM.
On the other hand: How many non-routing tasks do you really expect or require a ~$100 home-router-device to perform? :)
And even then, I try to keep it vaguely "minimal." I don't offload as much as I can; I try to keep the router-box focused mostly on router-duties. This is because I don't want to have too many dependencies within the router: I'm really not looking to create trouble with the single-point-of-failure device that connects everything I have to the rest of the world.
This is in large part for very practical reasons. If I manage to completely stuff up the router somehow, which isn't particularly unlikely, then I really need to be able to put it back together quickly (so I'm back online quickly) without worrying about a pile of non-routing things.
If I were to put as much stuff as possible into openwrt (as I certainly can; it is just a Linux box after all), then I think I'd quickly find that it'd be better to spin up OpenWRT in a VM on a Real Computer than to keep trying to shoehorn new roles into deliberately-limited hardware.
But maybe that's just me. I got over the idea of running weird stuff on tiny hardware for the lulz nearly 20 years ago, when I was playing with a new WD MyBook World Edition 1TB networked hard drive (which was a Linux box with a shell and a package manager and a whole terabyte of local storage, even though the the sum of the parts was slow AF).
It was fun for a bit to push that limited hardware in interesting ways, and I probably did even run an IRC client on it at some point, but I'm over it. :)