Problem understanding non blocking delay via millis()

So I guess it doesn't and i started the whole thing out wrong?

No. You just didn't go far enough.

Look back at the blink without delay example. There is a time that something was last done. There is a current time. There is a comparison of now minus then to interval. If the comparison is true, there is an action block.

You have everything correct except the last part.