The main time to use ArrayList is in .NET 1.1
Other than that, List<T> all the way (for your local T)…
For those (rare) cases where you don’t know the type up-front (and can’t use generics), even List<object> is more helpful than ArrayList (IMO).