Here's a practical problem: given a list of integers, return a new list with duplicates removed, preserving the original order of first occurrences. For [1, 2, 2, 3, 1, 4], return [1, 2, 3, 4].
Each value appears exactly once, in the order it was first seen. This differs from simply converting to a set and back (which doesn't preserve order in older Python versions and doesn't guarantee it conceptually).
Think about this: as you scan through the list, how do you decide whether to include each element? You need to know if you've seen it before.