I agree that it is better when it can be used, but I don't think it can always be used (eg: long lived memory, resources with overlapping but distinct lifetimes, legacy code).
So it adds a new way to misinterpret the code: is cleanup deferred or not?