eCommerce : fields vs attributes?
The way I think about it is in terms of sku numbers (or manufacturing part number/catalog number.) If a single product is available in multiple sizes (1 mg, 50 mg, 1 gm), each one will have its own unique sku. Those sizes are the variation attributes. But then I may also want to add on a non-attribute field like an image or a packaging/shipping surcharge (for a larger size). That data is specific to the product variation but isn't related to the sku.

Using the t-shirt analogy, if both size and color are attributes, then you might have the following unique variations:


TS_SM_01: small, blue t-shirt
TS_MD_01: medium, blue t-shirt
TS_LG_01: large, blue t-shirt
TS_SM_02: small, red t-shirt
TS_LG_02: large, red t-shirt 
TS_SM_03: small, green t-shirt 
TS_MD_03: medium, green t-shirt 
TS_LG_03: large, green t-shirt


If I add on a field for an image or a field for some sort of customization, those new "non-attribute" fields do not cause me to create a whole new set of product variation sku numbers.