Utilizzo delle variabili di interfaccia

Sto ancora cercando di capire meglio le interfacce. So cosa sono e come implementarli nelle classi.

Quello che non capisco è quando crei una variabile che appartiene a uno dei tuoi tipi di interfaccia:

IMyInterface somevariable; 

Perché dovresti farlo? Non capisco come IMyInterface possa essere usato come una class … per esempio per chiamare metodi, quindi:

 somevariable.CallSomeMethod(); 

Perché dovresti usare una variabile IMyInterface per fare questo?