So what do these terms really mean?
With the Apache server. There is this way to handle scripts. There are 2 protocols that Apache uses CGi and FastCGI. Cgi is not used anymore as this is old and slow. FastCGI now is basically the default.
In relation with PHP script. Like any other script in Apache. You can treat this scripts by “handlers“. There are few ways to handle PHP depending on your needs.
So basically these are modules that can be installed and set depending on your needs.
See link below for detailed information. Thanks to them I finally understand the mystery.
Now what is php FPM? Well its FastCGI Process Manager . From the website description, its an alternative FastCGI with extra feature. Its got more functionality.
There are tons more information about PHP FPM. But hopefully have a clear understanding to what they are and what it all means.