They're smaller (as in transistor count) and draw much less current than more powerful ones, which in some context (embedded/industrial, etc) is quite important. For simple tasks such as "read a sensor and if value isn' between values X and Y send this message over serial port and turn on relay on GPIO4" anything more than a smallish 8bit (sometimes even less) uC would be a huge waste of resources and potential source of problems since every piece of hardware or line of code added could hide a potential bug, therefore one adds only what is absolutely necessary, and that includes an OS and the beefier hardware required to run it.