A list enables you to...
Highlight the closest teleportation portal, health pack, etc. in a scene
Make all the enemies temporarily invincible (or invisible)
Do cool rippling effects with lights
Manage an inventory
Broadcast a message to other players in the game
There is no way to tell a whole List to do things (like become invisible). You have to visit each element in the List and tell it individually. So you need a loop.
// Go visit each item in this List or Array (enemyRenderers)
// Get each item in turn and put it in this temporary variable (thisRndr)
foreach(Renderer thisRndr in enemyRenderers)
{
// Tell each item to do something using the temporary variable
thisRndr.enabled = false;
}
Lists aren't perfect. They are much slower than arrays. That's why Unity uses arrays. There are other data structures and methods that are better suited for really large sets of objects (hundreds or thousands). For example, if you need to very quickly find the closest 10 objects out of thousands, you would use something like CullingGroup.
Lists are flat! A List is a flexible way to store a "bunch" of something. You can sort them, shuffle them, and more. But there are other useful data structures. For example, a Dictionary (or its close relative the HashTable) is useful when you have two sets of things that should travel together. For example:
A phone book stores names and numbers
A dictionary stores words and definitions
An inventory might store inventory slots and inventory items
You could store game events(like "FoundGoblet") and their score values