Um bom exemplo de iterator seria um rádio antigo, onde o usuário poderia começar em uma determinada estação e utilizar os botões next e previous para ir para outras estações.
Basicamente o iterator disponibiliza uma maneira de acessar elementos de um objeto sem expor o conteúdo todo.
O padrão de iterador desacopla algoritmos de contêineres. Em alguns casos, os algoritmos são necessariamente específicos do contêiner e, portanto, não podem ser desacoplados.