Mental Model
A doubly linked list lets you move forward and backward through nodes. To insert at a specific spot, you find that spot and adjust the links around it.
Analogy: Imagine a train with cars connected front and back. To add a new car in the middle, you disconnect the cars at that spot, insert the new car, then reconnect the cars before and after it.
head -> 1 ↔ 2 ↔ 3 ↔ 4 ↔ null
↑