I believe you have linked list and vectors flipped. vectors have O(n) insert, and linked lists have O(1) insert. Regardless, your point still stands.
For certain applications where you already have a pointer to position n by the time you find out you need to insert there, then insertion does end up taking constant time as long as it's not a persistent linked list. But big-O is for describing the worst case, not the ideal case that you can achieve given certain optimizations.
mdwrigh2 is totally right. I flipped the O(1) for linked list insertion with the O(n) for verctor insertion :).