Pseudorandom numbers are values generated by algorithms. These values are determined by a seed, or can be produced from user input e.g. mouse movement, time between keystrokes.
Hence, using the same seed in the same algorithm will generate the same "random" numbers.
Cryptography: generating an encryption key requires randomness for high entropy (i.e. high unpredictability)
Games: procedural-generated utilise random numbers to create a unique feel to the game, such as terrain generation (Perlin noise)
Simulations: random numbers are useful for simulating real world models and as training data for AI
Experiments: experiments require values that are unbiased, and thus random numbers can be used
Perlin noise: Perlin noise is a form of gradient noise used to differentiate the "machine-like" look of computer graphics.
Seed: A seed is a number or vector that instantiates the way in which the algorithm generates a sequence of numbers.