What schema markup does
Schema markup is a block of structured data that tells a search engine what the things on a page are: this string is a price, this one is a brand, this number is a rating out of five. Without it a crawler is reading a layout and inferring.
JSON-LD is the format to use. It sits in a script tag in the head, it is separate from the visible markup, and it does not break when someone redesigns the template.
Structured data identifies the entities on a page and makes it eligible for rich results. It does not rank the page by itself.