Sort:  

Since tomorrow is unknown, models can never be perfect.

Exactly... That's why best models become more accurate when time passes as they mutate to add new variables.

Like you have said before, some models essentially try to find similar patterns in the past and overlay them to current data to see which one most closely matches. Assuming that longer match can be found in the past, more likely the current pattern continues the same way, but that's where exceptions also come to play.

Sometimes we have to take account also how many times shorter matches have happened and how likely they happen after another shorter match.