Is there any valid reason that we should use interfaces over polymorphism? Every video, resource and everything else I searched just talks on how it's good to have interfaces to follow rules (contracts) or to just follow polymorphic behaviour.
Can anyone expand? It seems nobody else can... I'm specifically looking at why interfaces are used for decoupling and how they can help with that.