Well, one could argue that the fun in multi-threading is proving you are doing the same thing over and over again to lead to the same results. So it feels insane but it is perfectly rational and really just insanely complex.

It is easy to forget that time is variable too. Its just one that we can't control (at least not in the absolute sense), so it is usually considered to be a dependent variable.

In many cases, you may be doing exactly the same thing, but another unidentified or difficult/impossible to control variable may be changing (such as the OS performing context switches). Getting deterministic results isn't always easy.