A product option is used for products that come in different variations. Size and color are common examples of product options, but they can also be things like checkboxes or fields for custom text.
Product options are made up of values. A size option would have values like small, medium, and large. For some option types, values are created by the shopper, like custom text fields or file upload fields.
A variant is a particular variation of a product and has specific option values defined — like a small, blue shirt.
You can create a required option for products that need it (like the size for clothing). That means the shopper must select a value (like small) before they can add the item to their cart. You can also create non-required options. That means the shopper can select/enter a value but doesn’t have to. This is good for add-ons or customizations, like an engraving.
Another example of a product option can be seen in various software. Computer software may have a tier system where their product’s features and prices are different, but ultimately it’s still the same product. And because it’s the same product it will have the same SKU number regardless of what features are included.
Sources: support.bigcommerce, skuvault.com