The primary purpose of this is reducing boilerplate code. For supporting comparisons one currently has to implement a large set if functions. One for each of <, >, <=, =>, != and ==. However many times the implementation of those 6 functions is similar. Thus lots of code to write.
With operator<=> one can implement a single function and the compiler becomes the smart one. When calling o1 < o2 or calling o1 >= o2 the compiler will do a call to the single operator<=> and interpret the return value accordingly.
Notably less repitive typing for the type provider.