Schema.org is the vocabulary; JSON-LD is the format Google recommends. A block looks like <script type="application/ld+json">{"@context": "https://schema.org", "@type": "Product", "name": "...", "offers": ...}</script>. The page tells the search engine "this is a Product" or "this is a HowTo" or "this is an Article" — and the engine becomes eligible for the matching rich result.
Common types: Article, BreadcrumbList, FAQPage, HowTo, Organization, Product + Offer, SoftwareApplication, WebSite. Each has required fields; missing one means the rich result silently doesn't fire.
Structured data is also the format generative engines (Gemini, Perplexity, ChatGPT) lean on to attribute and cite. A page with no schema is harder to summarise and harder to verify, so it gets cited less.