Answer
This has been observed most commonly right after deployments. Two things worth doing: make sure all your custom objects (custom fields, custom layouts) are actually included in the shared Base Profile rather than only existing in individual users' Personal Profiles, and for users experiencing this repeatedly, try clearing/resetting their Personal Profile once. A stale or conflicting Personal Profile layer — rather than the Base Profile itself — is usually the actual underlying cause of custom objects intermittently vanishing after a deployment, and clearing it (combined with having the custom objects properly present in the Base Profile) tends to resolve the recurring symptom rather than just the toggle-off-and-on workaround, which only fixes it temporarily.