Random numbers are not truly random. They are basically a list, and the seed controls where you start in that list. If you give it the same seed all of the time, you'll get the same sequence of "random" numbers. This is useful for debugging, so you can control the program.
The seed is usually based on the time (microtime with mt_rand) so that it's fairly unique for each visitor.
---John Holmes...