¿Cuáles son las ventajas de concurrent.futures sobre el multiprocesamiento en Python?

Estoy escribiendo una aplicación en Python y necesito ejecutar algunas tareas simultáneamente. El módulo multiprocesamiento ofrece la clase Process y el módulo concurrent.futures tiene la clase ProcessPoolExecutor. Ambos parecen usar múltiples procesos para ejecutar sus tareas, pero sus API son diferentes. ¿Por qué debería usar uno sobre el otro?

Sé que concurrent.futures se agregó en Python 3, así que supongo que es mejor.