It has to do with the critical path of the project - this page has an overview of how the status is determined.
As a former customer (now employee), because my projects often had flexibility (I could typically borrow days from other tasks, if needed)- we typically ignored the project status. If I was still a customer now, I'd remove it from our project header in the layout templates. But you can also set the condition to be updated manually, if you prefer.