How does a wallet become recovered based on a seed phrase? From what I understand, the seed phrase is another way of representing the private/public keys. Since address reuse is frowned upon, and we generate new addresses per transaction, how does a wallet recover all addresses from the seed phrase?

edit: I realize that I might not have phrased this question so well. In essence I want to know the steps a wallet would take to recover all funds based on a seed phrase.