What makes a pseudorandom generator, a high quality one?
There are several criteria for the quality of a PRNG:


How fast it is. This includes how fast it is to setup it, and how fast it is to produce a single bit (amortized).
How difficult it is to guess the next bit given all previous bits.
How difficult it is to distinguish between output of the PRNG and truly random bits.


The last two criteria are strongly related.

If you have a bad quality PRNG, you can often make it better by hardness amplification. Take several copies of the PRNG (using different random keys) and XOR them together. In many (though not all) cases this will significantly improve its quality.