Linked lists are good when you have interconnected data structures with pointers to each other. You can delete one thing without having to re-shuffle, and thus invalidate all the existing pointers in to the data you re-shuffled.
Intrusive lists with cells allocated from a pool help make them nicer to the cache.
this i could call maybe an array for content + list of pointers not pure list maybe
When you would need such approach (interconnected with pointers) in practice ? Wouldnt it be easier rewrite it in array way stil?
(I am searching for the case when list is really better than array because from my practic experiense it may seem, that it is a practically dead way of doing things - though maybe not, and I am writing oldschool c down here)