I have been studying .NET 4.0 Code Contracts and looking on stackoverflow as well at question regarding this.
I still have never come across any sample code that use
I use them anytime i need to validate that an input parameter needs to have a specific value (number is positive, object is not null).
For outputs, I use them anytime I am certain that a return value should be in a certain state (not null for example).
Having contracts in the code ensures that an exception will be thrown the moment that an unexpected value crops up, and not further down in the code where objects may accidentally be left in a corrupted state because of an accidental assumption.
Personally, I think it makes the code a lot cleaner. The notation makes it a lot less to write (instead of using if(....== null)....). This way too Contract.Requires is very up front in what it is trying to accomplish. When I see that I know that the code is evaluating that a parameter is in a certain state.