Say, you are programming a space exploration game, and there must be 10K stars with planets or so. Instead of storing each star system, you store a single integer, the seed, for each of them, and when your ship visits the star system, you generate the system from the seed:
initialize_pseudo_random_number_generator(seed);
star_system = generate();
the seed uniquely determines the state of the PRNG, so every time you visit this star system, the PRNG will generate the same sequence of random numbers, and therefore the generated star system will allways look the same.
Optionally, if you PRNG permits that, you can do the following:
state = save_state_of_PRNG();
initialize_PRNG(seed);
star_system = generate();
restore_state_of_PRNG(state);
So, the usage of the random seed is limited to the 'generate' function call, and does not affect the subsequent commands.
On the downside, it's better to use seeds for things that cannot be easily changed by player's actions. This is why I gave an example with star systems. But they also can store landscapes, proceduraly generated textures, or things like this.