Major difference using the generics is the casting and uncasting of object types.
Before generics was introduced any data stored inside collection (e.g hastable) was in object type, hence if you required to access data from this object you would first uncast the object to known type and then access it. Casting and Uncasting of the
object creates overheads and is time and cost consuming process.
Specialized Generic types have some add on features such as in dictionary you can not only access the value with key but also with array index.