When compiling the Linux Kernel, what is the purpose of `make randconfig`?

The messing things up is the point.

It's used for what's called "fuzz testing" - making sure the kernel config can't be put in a state where the kernel can't compile. Rather than rely on pure human ingenuity to break things, they enlist the help of entropy.