I'm not sure I completely understand procedurally generated content, what's the difference between that and randomly generated content?
Sometimes, nothing. A good deal of procedural content uses random determination.
The main difference is that when people say "random" in a game context, most people will think of random-positioning/timing/etc. of pre-existing assets, where when people say "procedural" in a game context, most people will think of asset-generation.
The other thing, I guess, is that a lot of people will equate 'procedural' with 'deterministic', so with an entirely random generation you'll get a different thing every time, but with a procedural approach you'll get the same thing every time.
(Of course, since a computer's random number generator is itself procedural, it's not an entirely clean distinction, and as you can see in the PCG competition threads popping up a lot of people are going for "random generation with arbitrary RNG seed", which will end up being deterministic.)
Good example of procedurally-generated content: fractals. The process for generating the Mandelbrot image, for example, is to represent a given pixel as a complex number, real in one axis and imaginary in another; to repeatedly square that value and add the original number; if it goes outside of a certain threshold (there are no members of the set further than 1 from the 0+0i value, IIRC) then discard it, otherwise it's in the set. Most fractal visualisations will colour the pixel based on how many iterations it takes to discard, and colour an 'inside' colour if that particular number doesn't go outside the threshold before a certain number of iterations (the higher the count, the more detail the edges of the set will have). So it takes a handful of lines of code to generate a Mandelbrot fractal image, but that image might occupy megabytes of memory once generated.)