public T SomeMethod<T>(string item) where T : new();
Constraints "T" to be type having default (parameterless) contructor.
You won't be able to use this type (would fail to compile)
public class CustomTypeA{
public CustomTypeA(int count){}
}
while this one is allowed,
public class CustomTypeB{
}
and this one also,
public class CustomTypeC{
public CustomTypeC(){}
}
Also note, this type of constrain would accept all Struct T's (int,double etc). Because structs always have a default contructor.
Given these possiblitis,
It is useful : 1) when you want to constraint to above list.
2) when you want to instantiate (call its constructor) such type without using reflection.