I can do a:
Dim MyArray(10) as MyObject
This tells everyone who is going to use it (which can be future me...) that I'm supposed to put MyObjects in it.
Compare that to:
Dim MyList as List
What am I supposed to put in that one?
Sure, I could (and usually do) do a:
Dim MyList as List ' of MyObject
However, I don't like comments to actually carry a near-syntactical meaning, and the compiler won't tell me I messed up when I try to stuff SomeOtherObject into the list.
I don't argue that lists and maps are useless, quite the contrary, I use them much more than arrays, but that still doesn't mean that arrays are useless.