Fact tables provide the (usually) additive values that act as independent variables by which dimensional attributes are analyzed.
Each record in this fact table is therefore uniquely defined by a day, product, and store.
These "affiliate dimensions" allow for additional slices of the independent facts but generally provide insights at a higher level of aggregation (a region contains many stores).
One good design rule[1] is to never store percentages or ratios in fact tables but only calculate these in the data access tool.
The factless fact tables may be used for modeling many-to-many relationships or for capturing timestamps of events.