Yes, a variable name mix-up can be a simple typo. It’s really easy to do in nested “for” loops with short index names. A ‘-’ instead of a ‘+’ is also a typo that the compiler may not catch, depending on context. I’d class a lot of situations where the programmer knew what they were doing and how to express it in code, but typed something different that didn’t quite work as a typo. What would you call it?
I believe a big factor is attention to detail (and proof-reading) - which is what my original post was about.