Adding generics to .NET development is really the next logical step in providing a flexible and general use programming system. You always had the ability to use placeholders for datathey're called variables. Generics provide that same placeholder functionality, but with data types instead of just plain data.
When you control all development aspects of an application, you might think that generics aren't for you. After all, you're not going to let an Integer variable slip into a collection of dates. But they are quite handy for enforcing standards within your code, which is always good.