В чем отличия?
Есть ли конкретная ситуация или причина для каждой функции? Если да, можете ли вы привести некоторые примеры этих ситуаций?
PHP.net говорит, что они используются для выполнения внешних программ. см. ссылку Из примеров, которые я вижу, я не вижу явных различий.
Если бы я просто запускал script (bash или python), какую функцию вы рекомендуете мне использовать?