From MSDN:
By using interfaces, you can, for example, include behavior from
multiple sources in a class. That capability is important in C#
because the language doesn't support multiple inheritance of classes
So, use interface if you want that any class can inherit that methods.
From same MSDN page:
In addition, you must use an interface if you want to simulate
inheritance for structs, because they can't actually inherit from
another struct or class.