1. head is equivalent to tail.next() in a circularly linked list. 2. The main benefit is that it saves memory, in particular, one variable (head). If you were storing many linked lists (like in an inverted index), this can result in non-trivial savings.