The Internet (and magazines and conferences) are filled with bad information about when to choose an RTOS. In short, the world wants to sell you an RTOS, even when you don’t need one or the use of one would overly complicate your software design.
Here are two generalizations from a recent whitepaper:
Operating systems make programming more efficient and better structured, and their use is now frequently justified even in embedded solutions that are relatively small.
and
A clear benefit of using an RTOS is that it reduces time to market, because it simplifies development.
At best, this is misguided advice.
Here’s the straight scoop. An RTOS may either “make programming more efficient and better structured” or less efficient and poorly structured; it depends on the nature of the requirements. In many cases, a design composed entirely of state machines is easier to code and works more reliably than one using an RTOS. In other cases, particularly closed-loop control systems, a simple main+ISR approach will work even better.