Distributions

Random numbers can come in different distributions - how frequently the various numbers occur.

e.g. rolling a fair die many times will yield roughly the same number of 1s, 2s, 3s, 4s, 5s, and 6s.
A loaded die can produce one number more frequently.

random() & uniform() return uniform distributions - each possible number is equally likely to be returned.
If you call the function a large number of times, then you can expect each possible number to be returned about (but not exactly) the same number of times.
(Flipping a coin 1,000,000 times, you would expect to get roughly 500,000 heads and 500,000 tails.)

This plot is from calling int(random() * 100) 100,000 times. It shows how many times each of the possible values (from 0 to 99) was returned.