It depends. If you're big business, then get routers for routing and dedicated servers for other stuff. It's the right way, and costs (both for buying all devices and taking care of them) won't be a problem for you. If you're extreme hobbyist, then get your 10+ different devices, create all kinds of servers and have great fun with them.
But anyone in betweeen (SOHO, etc) wants one device for all basic stuff. Full-blown Linux distribution (OpenWrt also qualifies) is one possible way, there are no limits what you can do with that, but it's also too complicated for most. RouterOS (and mainly WinBox) found the perfect spot. It gives you less freedom compared to Linux, but it's as friedly as it can be, while still remaining powerful enough. It's just awesome.
Unfortunately, sometimes it's not enough, and you may want a little bit more. But if RouterOS device provides >90% of what you need, getting another device for the rest is something you'd rather avoid. Realistically, MikroTik can't add all possible features, that's clear. There is/was MetaRouter, but it seems like a dead end now. And it was too heavy anyway. Something lighter as suggested by @pe1chl (and I suggested it in the past too) could be the solution that could make most people happy.
My only fear is that it could enable MikroTik to become "lazy" and refuse to implement some features, because "hey, we don't want to bother, when there's already a third-party package for that", even though it can be some half-working thing. I'd really like to have something like this as a way how to add some really exotic stuff that MikroTik would never add. But things like Wireguard should eventually be directly in RouterOS and supported by MikroTik.