Direct-sequence spread spectrum (DSSS) works by "spreading" a narrowband information channel over a much wider segment of the frequency spectrum, using a specific pseudorandom code. The receiver uses the same code to "despread" the desired signal back down to a narrowband signal, and in the process, all other interfering narrowband signals in that segment of spectrum are themselves spread out. This "coding gain" is what allows the receiver to reliably recover the information, despite the slightly decreased SNR created by all of those spread-out interferers.
The coding gain of DSSS also makes it robust against random (wideband) noise sources, such as thermal noise in the environment, antenna and receiver as well as other wideband interferers, including DSSS transmissions using uncorrelated spreading codes. It is this feature that allows a GPS receiver to operate reliably, even though the received signal level at the Earh's surface is 10 to 20 dB below the thermal noise level!
Frequncy-hopping spread spectrum (FHSS) works by transmitting the narrowband signal in short bursts using a large number of different carrier frequencies within the selected segment of frequency spectrum. The signal is still fundamentally narrowband, however, which means that a narrowband interferer on any of its carrier frequencies will potentially wipe out the entire burst on that frequency. While it's possible to deal with such bursts of errors in a robust way, it requires that the information content of the signal be spread out among multiple bursts. This means that the receiver must collect those multiple bursts before it can reconstruct the original information stream, and this is what causes the overall latency to be greater.
In addition, FHSS does not have the advantage that DSSS has over wideband noise and interference. Its primary advantage is that it is relatively straightforward to convert narrowband communications gear to FHSS, which is what led to its early adoption.