Like most large data sets, ZIP codes are complicated. They are defined by delivery routes, so sometimes they overlap when that makes sense for delivery purposes. Some post offices with a lot of P.O. boxes can have their own ZIP code and that's typically represented as a point rather than a polygon. Large naval vessels have their own ZIP+4, and the base 5-digit ZIP code is a single point that is the land-based processing facility that the vessel is associated with. The same for some other types of military facilities and government buildings (e.g., the Pentagon and White House). I'm sure there are more special cases. It would be interesting to know how accurately the official data being offered here handles all this.
I came across all this when building maps for sales territories defined by ZIP codes. I needed to have a simple, clean partitioning of the US for this use case, and ZIP codes are not that. So I took all ZIP codes as points and generated a Voronoi diagram to yield clean, non-overlapping polygons that covered every point in the country. That was plenty good for the purposes of doing visualizations of the US split into tens of territories.
It took a bit of scrolling to finally find someone who understands that in most countries postalcodes can be rendered as areas — if you have the points of each address, using them to generate a Voronoi diagram.