To expand on the answers already provided, some
xargs implementations (like GNU or modern BSDs) can do one cool thing that is becoming increasingly important in today's multicore and distributed computing landscape: it can parallel process jobs.
$ find . -type f -name '*.wav' -print0 |xargs -0 -P 3 -n 1 flac -V8
will encode *.wav => *.flac, using three processes at once (