I am having a little trouble understanding the difference between the assumptions behind the McNemar Test and an ordinary Chi-square test.

The text books say "use McNemar when the data is paired" but it doesn't seem totally clear what this really means. My understanding of the ordinary Chi-square test is that we assume we have a sample where each experimental unit takes a label from two independent populations of nominal values, and we can then perform a test to see if the labels are assigned independently. But each experimental unit gets two labels, so I don't see how they are not also "paired." The only difference I see is that in examples where McNemar applies, the two populations of nominal values are actually one population, and each subject is measured twice? For example, we perform the same survey on a set of subjects and compare their 'before' and 'after' answers in relation to some experimental condition...

Do I understand this correctly, or am I still missing something? Is the main difference for the tests a function of whether we consider the two sets of labels to come from one or two populations? Does 'paired' refer to the labels as opposed to the subjects they are assigned to?

Thanks!!