Code-Phase vs Carrier-Phase
In essence this method is counting the exact number of carrier cycles between the satellite and the receiver.
The problem is that the carrier frequency is hard to count because it's so uniform. Every cycle looks like every other. The pseudo random code on the other hand is intentionally complex to make it easier to know which cycle you're looking at.
So the trick with "carrier-phase GPS" is to use code-phase techniques to get close. If the code measurement can be made accurate to say, a meter, then we only have a few wavelengths of carrier to consider as we try to determine which cycle really marks the edge of our timing pulse.
Resolving this "carrier phase ambiguity" for just a few cycles is a much more tractable problem and as the computers inside the receivers get smarter and smarter it's becoming possible to make this kind of measurement without all the ritual that surveyors go through.