"else" usually means "instead of" or "otherwise" in those patterns. If the original case doesn't run, then the else case runs instead.
In a for loop, the else clause only runs if the loop successfully completes (isn't broken), so the else in for-else means the total opposite of what it means in every other pattern.
I think it would make a lot more sense if it were replaced with "done" or "upon" or something else that communicates how it works.