What «product schema markup» means
A crawler sees a product page as text and layout markup. The price may sit in a span with the class «price», in a table, inside a tab or even in an image. Product markup removes that ambiguity: it states, in a machine-readable block, that this number is the current price, that this string is the item name and that this 4.6 sums up 128 reviews.
The vocabulary comes from schema.org and the central type is Product. Around it sit Offer, which carries the commercial terms; AggregateRating, which summarises the average rating; and Review, which represents one opinion with its author and score.
Three layers get confused daily and need separating. The markup lives in the page HTML and is read by the crawler. The product feed is a file the shop sends to Merchant Center. The visible page is what the person reads. All three must tell the same story, yet they are separate channels with separate rules.
The type itself also needs a boundary. Product describes one specific commercial item: not a category, not a listing and not the shop as a company. For the company there is Organization, and its rules on ratings are different.