They are not advancing stages because they don't need to.
You need to understand what the color stages represent, because it depends on the engine type. It is either:
A.) The current engine temperature (combustion, biogas, magmatic engines), or
B.) The amount of MJ in the internal buffer (almost all others)
Note that some engines (blulectric engine for example) don't bother with heat stages at all.
Type B is the standard Buildcraft implementation, and only the combustion engine differs from it because of its (at the time of its introduction) unique heat mechanic.
In a type B engine, the engine will usually generate MJ faster than it can output it in the blue stage, because the piston speed is too slow (output only happens at the peak of the stroke and only dumps a certain amount, depending on the engine). So an internal energy storage starts filling up. At 25% full, the engine advances to green and the piston accelerates, thereby dumping energy faster. If the engine still generates more energy than the piston can dump, this process will repeat at 50% (advancing to yellow) and 75% (advancing to red), with the piston pumping faster and faster in a bid to output more power. This is why the redstone engine will eventually end up flashing red-yellow-red-yellow: because in the yellow stage, the engine generates more power than the piston can output, but in the red stage, the piston dumps energy faster than the engine can produce it. Therefore it finds its equilibrium at exactly 75%, on the borderline between two stages.
The stirling engine is a type B engine where the piston can dump more energy per stroke than the engine can produce even in the blue stage; a stirling engine will never advance into green by itself unless something is wrong (nowhere to put the energy).
The Railcraft steam engines find their equilibrium in the green phase. You can observe that their internal energy meter climbs until a certain point and then keeps hovering there. Again, unless something is wrong, the engine will never advance beyond that stage by itself because it doesn't need to.
A type A engine generally outputs all internal power on each piston stroke, regardless of stage or piston speed (again, unless something is wrong). They instead use the color stages as an indicator of current temperature. If a magmatic engine is yellow, it is fully heated up and delivers its advertised 4 MJ/t. If a combustion engine is yellow or red, it has run out of coolant and needs to be shut down ASAP. If a switched-off biogas engine is green or yellow, it retains enough temperature to start up again without consuming lava.