So far in my experience I have not had any use of interfaces in c#. Mostly due to the fact that I can easily achieve what I want by using overloading or delegates.
For the past week I have been working hard to extend my basic XNA User Interface (not to be confused with c# interface) for more functionality. My biggest problem was that I wanted a tooltip window, one of those small things that appears when you hover your mouse over something and extra info appears. This proved to be a major pain since I wanted everything in my game to support this, even classes with nothing in common.
And suddenly I find out that I can do
if (ThisObject is ItooltipInterface) { //Run code to generate tooltip box for ThisObject }
I know it is a bit stupid posting something simple like this, but it has been a long time since I had a real "Eureka!" with c# and it saved me allot of headaches.