Super loops are great for simple systems with limited responsibilities. If a system is simple enough, they can provide very low jitter in response to an event, but only if the loop is tight enough. As a system grows more complex and acquires more responsibility, polling rates decrease. This decreased polling rate causes much larger jitter in response to events. Interrupts can be introduced into the system to combat the increased jitter. As a super loop-based system becomes more complex, it becomes harder to track and guarantee responsiveness to events.
An RTOS becomes very valuable with more complex systems that have not only time-consuming tasks, but also require good responsiveness to external events. With an RTOS, an increase in system complexity, ROM, RAM, and initial setup time is the trade-off for a more easily understood...