A way to think of the random number generator is as a series of numbers (1, 5, 7, 3, 10, 8, 7, 7, etc). Whenever you call a random function, it picks a number from that list, then moves on to the next (starting at position 0). So the first time you call random, it'll pick 1 and generate an output based on the number 1. The next time you call random, it will pick 5 (since that's next in the list) and generate an output based on that and so on. The output isn't necessarily going to BE the number it picks, but it will be based off that number.
That string of numbers is what you could call your "seed" in a sense. If you stick with the same seed each time you start the game, the random numbers you get will be the same numbers in the same order, which means the random functions will return the same numbers in the same order as the previous time you booted the game. If you change the seed, it will be a different set of numbers, which means the random functions will return different numbers.
By using randomise()
you are telling the computer to pick a new seed (or string of numbers) to use whenever a random function is called. By saving and/or setting the seed, you can "force" the computer to use particular series of numbers, which will generally mean the same output from the RNG. It's not really important if you are just wanting to generate random numbers, as the numbers will still be "random" regardless of if you are setting a seed or not. But in particular circumstances, you might want to be able to save and retrieve a particular seed to use (an example would be in Minecraft, you can "save" the starting state of any world by saving the seed, and loading a world from that seed will generate the same world again, rather than a new one).