The publish date

A record is visible when its publish date is set and has passed. An empty date means the record has never been published, or was unpublished: it exists and can be edited, and visitors get "not found". A date in the future means it goes live at that moment. Publishing sets the date; unpublishing clears it, without deleting anything.

The unpublish date

Pages and books (books, units and book pages) can also carry an unpublish date. When it passes, the record is unpublished: its publish date is cleared, as if someone had unpublished it by hand. The unpublish date is set through the API; the admin has no field for it.

The pages above it

A record is only reachable if what it sits in is reachable too. A published page under an unpublished parent answers "not found", and so does a book page whose unit or book is unpublished. Check the chain above a record before assuming its own dates are wrong.

Which content shows

Being visible decides whether visitors see a record. Which version they see is decided by the active version, separately: publishing does not activate a version, and activating does not publish (see Previewing and publishing).

Checking your work

Signed in to the admin you are shown unpublished records, because the setting "Show unpublished" is on for each admin user unless they switch it off. Your own view therefore proves nothing about what visitors see. Check in a private window.