Each service file contains a list of ports that need to be opened for a particular service. Optionally, the service files may contain one or more destination addresses, or call in any needed modules, such as for connection tracking. For some services, all you need to do is open just one port. Other services, such as the Samba service, require that multiple ports be opened. Either way, it's sometimes handier to remember the service name that goes with each service, rather than the port numbers.
The services files are in the /usr/lib/firewalld/services directory. You can look at them by using the firewall-cmd command, just as you could with the list of zones:
[donnie@localhost ~]$ sudo firewall-cmd --get-services ...