indistinguishability of strings
Think of reading a string as filling a backpack with the only memory you are allowed to carry forward. Two strings are INDISTINGUISHABLE if their backpacks are interchangeable: no matter what suffix you go on to read, swapping one prefix for the other never changes whether you end up accepting. If you can never tell them apart by any future, a single automaton state can safely represent both.
Formally, fix a language L over alphabet Σ (Sigma). Strings x and y are indistinguishable with respect to L, written x ≡_L y, when for every string z in Σ*, xz is in L if and only if yz is in L. The string z is called a distinguishing extension or witness; x and y are DISTINGUISHABLE if some z puts exactly one of xz, yz into L. This is exactly the equivalence relation behind the Myhill-Nerode theorem, and it is purely a property of the LANGUAGE — it never mentions any machine.
Indistinguishability is the precise meaning of 'these two prefixes leave the automaton in effectively the same situation'. It is why a minimal DFA can have one state per class: states that cannot be told apart by any future input are redundant and can be merged. And it is the engine of non-regularity proofs — if you can produce infinitely many pairwise distinguishable strings, the language needs infinitely many distinct memories, which no finite machine has.
For L = strings ending in 'ab', the prefixes 'xa' and 'xb' (any x) are distinguishable: append z = 'b' and only 'xab' ends in ab. But 'a' and 'ba' are indistinguishable here — every continuation treats them identically — so they share one state in the minimal DFA.
Distinguishable = some future z separates them; indistinguishable = none ever does.
Indistinguishability is about ALL possible futures z, not just one — two strings can agree on many continuations and still be distinguished by a single cleverly chosen z. It is a property of the language, never of a specific automaton's states.