The relay list is saved as an event on your relays. There are actually a few different kinds of events for storing different sets of relays. And yea, the differences are usually because one relay has an out of date event or a client handles it badly and overwrites a previous event.