The difference is whether you prefer to configure the objects programmatically or through properties. Spring Cloud GCP uses the underlying client library objects to talk to Cloud Pub/Sub but it autoconfigures these objects with sensible defaults allowing you to use properties to control specific behavior.