Package names do differ on different platforms. Some call it httpd
some apache2
...
Imagine your product supports RedHat, SuSE and Ubuntu. Each in two versions.
Do you keep six lists of packages to install in your configuration management?
AFAIK this question is valid for all common products like Salt, Puppet, Chef, Ansible
Update
This question got a lot of down-votes. For me this means: This question is known and a lot of people hate the situation. And: No one has an answer.
I found this: There is a project on github which tries to bring sanity into this package naming chaos:
https://github.com/unixpackage/unixpackage
One command to install equivalent packages in Ubuntu, Debian, CentOS, Fedora, Red Hat and Mac OS X. UnixPackage is a UNIX independent way of installing packages. Specify the Ubuntu package name (e.g. libpq-dev), and it will install the equivalent on your system (e.g. postgresql-libs on Arch).