I’ve had the GPS tell me to go a different route in the same direction on different days, and the model I have does not do traffic. I assume it’s a function of when I put in the route and exactly where I am at that time, very possibly it scans near by roads to look for reasonable ‘exit route’, then just calculates from there.
Going in opposite directions I can see where the trips can vary, like on a trip where you are using mostly direct and efficient on-off ramps in one direction while on the return you have to use the looping clover leafs which do eat up time, possibly enough to justify another route - some clover leafs are very long. This may apply for calculating left vs right turns as well, I don’t know how the calculate it.
Another little GPS quirk is sometimes I know a shortcut that the GPS does not, when I take it it recalculates and shows that the short cut was in fact shorter and gives a earlier arrival time. It is evident that either the GPS doesn’t scan every route possible, or perhaps keeps one on better roads for convenience (or for the conspiracy theorist to keep you out of better neighborhoodsor pervent local roads from becoming heavily trafficked), but it would be nice if the GPS could scan for shortcuts in the background once the route is established.