Radix sort is a non-comparative sorting algorithm that sorts numbers by treating them as strings of digits. There are two types: most significant digit radix sort which sorts starting from the beginning of the number string, and least significant digit radix sort which sorts starting from the end. The algorithm performs multiple passes where each pass sorts the numbers based on one digit, placing them into buckets based on their digit value. The numbers are then collected from the buckets in sorted order.