Some advocates use a shit list as a record of people that have wronged them in the past. You can either plan to get back at them in the future or merely avoid them at all costs. This is an interesting diversion, and it raises the question: how rational is this behavior?
On the one hand, if you were developing an AI, there would be no reason to program in a shit list. Why would a perfectly rational computerized agent hold grudges and have enemies? All that would accomplish is to hedge off potential alliances in the future based on past grievances, even after sufficient punishment has been doled out for "cheating."
But humans are not blank-slate computer software--we come pre-designed with multifaceted cognitive adaptions that must be taken into account. And one of those is a desire to punish fellow humans who break social contracts, even when it may be against our own self-interest.
A shit list co-opts this desire for revenge and uses it to spur you onto completing your other goals. Having clearly defined enemies can focus your energy and give you strength when you are bored or weary. You may think: So and so would like it if I gave up now, wouldn't he? And that will help you push through complacency.
This analysis also yields insight into how your shit list should be constructed. It should be short, and comprised of people who have wronged you personally, especially those who had entered into and broken some sort of agreement. Too long and you will be drowned in thoughts of your enemies; not a personal enough reason and you will not be assimilating your insticts for revenge. But under the right circumstances, a shit list can be rational indeed.
Full Disclosure: I myself have made a short shit list, which has prompted some people to ask me whether or not they are on it. My answer? Maybe... Maybe not. Maybe fuck yourself.
(Thanks to Legend for popularizing that last line).