SuExec forces all CGI scripts to run as the user. This can include PHP if PHP is set to run as CGI.
SuPHP forces all PHP scripts to run as the user (assuming PHP is set to run as SuPHP)
PHP as an Apache module is DSO. This is the default in a cPanel/WHM environment and results in PHP running as user nobody.
PHP as CGI will run PHP scripts as if they were CGI scripts. This has several side effects such as the script_name Superglobal variable returning the PHP CGI binary rather than the script.
cPanel/WHM no longer natively supports phpSuExec, we now use SuPHP instead.