Google describes structured data as a standardised format for giving information about a page and classifying its content. Most of it uses the schema.org vocabulary, but Google says to treat its own Search Central documentation as definitive for Google Search behaviour, because schema.org contains more types and properties than Google uses. Google supports JSON-LD, Microdata and RDFa, and recommends JSON-LD.
Design is mostly about fit. Google's general guidelines say the markup must describe the page it is on, must not mark up content users cannot see, and should use the most specific applicable schema.org type. Required properties for a feature must be present or the page is not eligible for that rich result. Where a page holds several related items, such as a recipe and its video, Google says to link them with @id so it can tell they belong together. Our Web Development page states the same intent: structured data designed with the content model.
Validation has limits. Google points to the Rich Results Test and the URL Inspection tool, which catch most technical errors, but says that correct markup does not guarantee a rich result. Structured data enables a feature; it does not promise one. Structured data that breaks the guidelines can also lead to a manual action, which Google says removes rich result eligibility without affecting web ranking.
We cover schema design and validation as part of our structured data work in Technical SEO.