Years ago when writing code, we just had one way to generate random numbers. Randomize... But, a bunch of mathematicians got together, drew some squiggles on a blackboard and found out that the method of generating random numbers in computers wasn't really all that random.
To solve this problem, they came up with a brilliant idea. They'd throw another random number inside the code that made the random number and make it really random. That method was called 'seeding.' The problem with that was, if you used the same seed, it once again, generated random numbers that weren't all that random. As a matter of fact, if you used the same seed over and over again, it would generate the same sequence of 'random' numbers.
To get around that and make truly random numbers (well, mostly), people who write code started 'seeding' their random numbers with the computer's clock. Randomize(timer). That way, every single time the program ran, a new seed was used and therefore, a new sequence of randomness. Well, a less predictable one anyway.
But that also lead to other ideas. Seeding can now be used to generate really random numbers using something like the clock OR, you can repeat the 'random' sequence by using the same seed. That means, you can create a really random sequence of numbers or you can create a random sequence of numbers that will repeat each time you restart the program.
Hope that explains it.