With google pub/sub you cannot retrieve the message back once it is taken out of a subscription. This will also increase cost because Google charges Pub/Sub usage by the amount of data readout of it.
With Kafka, you can set a retention period to retrieve the data and messages stay in Kafka regardless of how many customers read it. Where AWS kinesis will also a managed version of Kafka.
For more details, refer to this google cloud training.