The question ist not about "what they are" and "how to implement them technically", it is about where on a website I should put which of them?
A website with a typical structure like
- Homepage (the domain)
- Blog (list with blog posts)
- Blog Post (the blog post)
- Pages (other pages)
- Shop (start page of a shop)
- Product (detail of a product)
- Contact Page
For example, it is clear that the type "BlogPosting" goes with a "Blog Post" but what about other generic types like "WebSite", "LocalBusiness", "Organization", etc.?
Do they belong on every page of the website? Does every page needs or should have the "WebSite" data and the contact page has in addition "LocalBusiness" or "Organization" data?