The big difference is that US postcodes describe very large areas. A 5-digit US ZIP code describes a town or neighborhood, with on average 8200 people living in each ZIP code.
Most European postcodes are far more precise, often describing a single street, part of a street, or even part of a building. Postcode + house number is usually enough to uniquely identify a mailbox. For example, in The Netherlands on average only 40 people live in each postcode. That makes the dataset far more valuable for geolocation.
They are public, but the post office changes the last 4 digits every few months so there is no point in telling anyone what yours is. These days the post office can look up your street address and give you all the information they need - which is an 11 digit bar code good for the next week.
Based on my personal experience, I really doubt that the last 4 digits of the ZIP+4 are changing more often than once per decade or longer. I could see the delivery point of the 11-digit code changing every few months, but you are already aware of that code system so it is not simple confusion between the two on your part.
20 years ago they changed all the time. Wikipedia doesn't mention this though. These days the post office can read the street address via computers and get the 11 digit code they need, so I suspect they don't need them. (for PO boxes the 9 digit code apparently doesn't change)
Most European postcodes are far more precise, often describing a single street, part of a street, or even part of a building. Postcode + house number is usually enough to uniquely identify a mailbox. For example, in The Netherlands on average only 40 people live in each postcode. That makes the dataset far more valuable for geolocation.