Обобщения обеспечивают большую производительность, так как не происходит операции "упаковки"-"распаковки"(boxing-unboxing),
Обобщения обеспечивают безопасность типов, так как могут содержать только типы, которые Вы задаете при объявлении,
Обобщения значительно снижают необходимость создания собственных коллекций, так как базовая библиотека уже предоставляет несколько подготовленных коллекций.