>自分自身、リストの有用性自体をはっきりわかってないと思っています。
crowbarのcrowbar.hを見ると、連結リストをかなり使っていますね。
http://kmaebashi.com/programmer/devlang/crowbar_src_0_4/S/6.html
動的に追加される要素は、ランダムアクセスの必要がない限り、たいてい連結リストにしている、という感じです。
途中への追加とかがなくても連結リストを使っているのは、単にrealloc()で配列を伸ばすのが面倒だとか、型Tの配列をrealloc()で伸ばすとTのポインタが変わってしまって誰かが指していたときに困るとか(Tへのポインタの配列にすればいいんだけど)、create.cでの解析木の構築はrealloc()できないMEM_storage_malloc()を使っているとか、事情はいろいろありますが、単なる私の「癖」のような気もしないでもないです。