...but they're a necessary evil
Multiple threads are required to make use of multiple processor cores
Inter-thread communication is much cheaper than inter-process