GPS for example uses them to allow receivers to decode extremely weak signals far below the noise floor.
If we tuned our receivers to the GPS frequency and graphed what we picked up, we'd just see a randomly varying line (the earth's background noise). The GPS signal would be buried in that noise. The pseudo random code looks a lot like the background noise but with one important difference: we know the pattern of its fluctuations. What if we compare a section of our PRC with the background noise and look for areas where they're both doing the same thing? We can divide the signal up into time periods (called "chipping the signal") and then mark all the periods where they match (i.e. where the background is high when the PRC is high). Since both signals are basically random patterns, probability says that about half the time they'll match and half the time they won't. If we set up a scoring system and give ourselves a point when they match and take away a point when they don't, over the long run we'll end up with a score of zero because the -1's will cancel out the 1's. But now if a GPS satellite starts transmitting pulses in the same pattern as our pseudo random code, those signals, even though they're weak, will tend to boost the random background noise in the same pattern we're using for our comparison. Background signals that were right on the border of being a "1" will get boosted over the border and we'll start to see more matches. And our "score" will start to go up. Even if that tiny boost only puts one in a hundred background pulses over the line, we can make our score as high as we want by comparing over a longer time. If we use the 1 in 100 figure, we could run our score up to ten by comparing over a thousand time periods. If we compared the PRC to pure random noise over a thousand time periods our score would still be zero, so this represents a ten times amplification.
Are there any amateur radio modes/software that use this method?