There are two type services: ClusterIP and LoadBalancer
If you just want to link pods together internally, you just need a ClusterIP service.
The ClusterIP service is "internal Pi services" which you mentioned, you can use it without Floating IP, and It does not produce cost.
If you want to expose a container to internet, you need LoadBalancer service.
The LoadBalancer service should be used with Floating IP.