The op amp will try to equal the inputs all the time, as far as I am aware, right? If so, how come the non inverting input isn't always Vref?
No, it's not true. This circuit is non-linear so it doesn't have to follow that rule.
There's two concepts you need to understand:
Opamp Saturation and Positive Feedback (and hysteresis)
Take an opamp without any feedback resistors or input resistors. If we tie the opamp -input to Vref then when the opamp +input greater than Vref the opamp output will swing positive. The opamp has a very large gain A and the opamp output voltage tries to hit,
Vout = A * Vdiff
where,
Vdiff = "V at +input" - "V at -input".
If A is 100000 and power rail is 9V then with Vdiff = 1mV the opamp output tries to get to 100000*1mV = 100V but 100V is greater than the power supply voltage so the output get stuck at 9V. We say the opamp saturates, or clips. So what if we increase the input further to say 2mV, the output is still stuck at 9V. In fact for any Vdiff > +90uV the output is stuck. When we force the input like this the opamp +input does not have to match the opamp -input (=Vref).
When we have negative feedback the feedback resistor keeps Vdiff at 0V. However we can still clip the opamp. When clipping occurs the output will get stuck at 0V or 9V and Vdiff will actually become non-zero. Negative feedback tries to make it zero but the clipped output stops that from occurring.
We can simplify the above for an ideal opamp with infinite gain that when Vdiff > 0 the opamp output saturates positively and gets stuck at the positive supply rail, and when Vdiff < 0 the opamp output saturates negatively and gets stuck at the negative supply rail.
The point here is the
- output stuck in saturation
- the input voltage can change without having an effect on the output.
- only Vdiff > 0 or Vdiff < 0 can change the output
(in you case think of opamp +input > Vref or opamp +input < Vref)
Ok sooo what you're saying is the state STARTS changing when +input hits Vref but FINISHES changing when the +input hits VLO?
...
It may not be what I'm saying, and if it's not, I wonder where do the VHI and VLO come into place here. Because as you mentioned the change starts at the Vref (which doesn't make sense because I have 2 thresholds designed for exactly this not happening.)
I understand where you are getting stuck.
The two thresholds come about because the opamp output voltage can be in two states (high and low). The state moves the threshold.
When the output is stuck at 0V, there is a whole range of voltages where Vdiff < 0 and the output will stay stuck at 0V. For example we can increase the input voltage from 0V to just under the threshold (VHI) and provided Vdiff is < the opamp output will stay at 0V. If Vdiff is just under 0V we can decrease the circuit input voltage again and Vdiff well got more negative and the opamp output doesn't change.
The threshold is the point where we change the output from 0V to 9V. For that to happen Vdiff must increase from Vdiff < 0, hit Vdiff = 0V, then when Vdiff is just above 0V the opamp output will swing to 9V.
Suppose we increase the circuit input so Vdiff just above zero. In your Schmitt trigger the feedback resistor connects back to the opamp +input. When the opamp output rise from 0V to 9V that resistor *increases* the voltage on the opamp +input. So once you hit Vdiff > 0 the opamp drives *itself* harder into saturation. This is called positive feedback. Look what happens not if we back off the circuit input voltage. The *circuit* input is currently at the threshold VHI. If we try to decrease circuit input voltage like we did before the output changed state we can't make Vdiff < 0. The positive feedback as now "lifted" the opamp +input and made Vdiff *even more positive*. So now if we want to make Vdiff < 0 we need to decrease the circuit input to less than the VHI threshold. The new threshold is the VLO threshold. The positive feedback changes the point where Vdiff hits zero depending on the voltage at the output of the opamp.
FWIW, the different threshold for increase and decreasing signals is called Hysteresis. In order to get Hysteresis you need memory
which remembers the state. In the case of a Schmitt-trigger the opamp output is remembering what state it is currently in.
This pic shows how the thresholds change depending on the (output) state.
[click to enlarge]

I strongly suggest using spice to look at the opamp +input on your Schmitt trigger. There will be a triangle wave going up and down but there will also be up/down shifts in the opamp +input voltage. The Schmitt trigger changes state when the opamp +input hits Vref. However the change in the opamp output voltage raises and lower the opamp +input so the input needs to reach two different thresholds.
I don't know if this helps at all. It can be a little tricky to understand.