Linked list is for adding/removing elements at the front or back or the list, which would take O(1). Adding/Removing from the middle of the list still would take the size of the list O(n). Epic’s TArray also has pop and push methods which almost work like Stacks, which basically also allow you to remove/add from ends of the Array easily as well. I bet the implementation for pop and push probably is also O(1).
You will know when to use a linked list and when to use an array by intuition. You use a linked list when for each enemy, you only need to access or do something about the “next” enemy or “previous” enemy. For example, for my case I needed a linked list for a group of enemies that are moving in a line formation. When the enemy ahead of this enemy is moving in a certain direction, the current enemy also moves in a certain direction. For any enemy, I never cared about all the enemies in the linked list. I only cared about the enemy ahead or behind of it. This is a great opportunity to use linked lists. (You can also use TArray to do this, but Linked lists obviously fits better)
As a rule of thumb, you should almost always use TArrays, unless you have specific reasons to use LinkedLists, like the one I just mentioned.