Например я пишу для себя пакет, в котором есть функция которая должна принимать указатель на какую либо структуру, и структура должна иметь определенные методы которые необходимо вызывать внутри функции. А пользователь пакета в своей программе должен писать свои структуры и передавать их описанной в пакете функции. Использовав интерфейс (или указав её как тип передаваемого) внутри функции мы проверяем наличие необходимых методов у переданной структуры.