Pulumi does not diff against the cloud by default.
But even if you do do a refresh (which reconciles state with the cloud), it is frequently the case that the state recoverable from the cloud providers is not a sufficient description of the desired state, so the previously applied desired state is still necessary for diffing.
You can see this in many others IaC ecosystems - Terraform of course, but also the
last-applied-configuration
annotation used by kubectl.