Basic types are optionally nullable. int? is nullable, int is not.
It is a fantastic tool in many cases where a null is much clearer than something like -1 to denote a missing value.
However, I can see the issue with some developers using nullable types for everything. But any sufficiently powerful/flexible tool is always going to be misused by some.