Radix sort is a generalization of bucket sort that uses multiple passes of bucket sort and treats digits of numbers separately. It works by sorting numbers based on the place value of their digits, starting from the least significant digit. For example, to radix sort a list of numbers from 0 to 100, it would perform 3 passes of bucket sort using the ones, tens, and hundreds places respectively to fully sort the numbers in ascending order.