Definitions describe the field
A metafield definition is the reusable setup for one kind of custom information. It says what the field applies to, what kind of value it accepts, and which rules the value must follow.
For example, you could create a Product definition named Care instructions with a multi-line text value. That definition appears on every product, while each product can store its own instructions.
Values hold the information
A metafield value belongs to one product, variant, customer, order, order item, collection, category, page, blog post, blog category, vendor, brand, or the store. A definition can exist before any values have been added.
Names and identifiers serve different purposes
The name and description are for staff working in Store Admin. Namespace and key identify the field to themes and integrations. Shoppers see a metafield only when it is available to the storefront and the theme or storefront has been designed to show it.
The namespace groups related fields, and the key names one field within it. Together they form the field's handle, such as details.care, which themes and integrations use to find the field. Use lowercase letters, numbers, and underscores. A key must be unique within its namespace for the same kind of resource.
Namespaces that start with app: belong to installed apps. Each app uses its own app:<slug> namespace, for example app:reviews, where the slug identifies the app. Your team cannot create definitions in these namespaces; the app creates them when it is installed or updated.
Store and app definitions
Definitions created by your team belong to the store. Installed apps can also add definitions for information they manage. An app-owned field may be editable, read-only, or hidden in Store Admin, depending on the access selected by the app.