I think the whole loyalty thing boils down to options. If you're a Giants fan and the team is performing poorly, there are several other teams to which you can pay attention. Yankees, Jets, Knicks, Mets, Rangers, Islanders, Devils, Nets...usually 1 or 2 of them are fielding potential champions at any given point in time.
If this multiplicity existed in Buffalo, you'd see fewer die hard Bills fans.