You seem slightly confused between interfaces and User Controls which are totally different from each other. There are many articles that describe each of them in detail. But I would tell you how I use them
User Controls: I use User Controls mainly for the User interface encapsulation. for instance if I have some text boxes, labels, few dropdowns and panels, I would have to write code to handle them for instance I have a drop down and based on its values I have to enable or disable some functionality. I also have to perform some validation. I can do that in the webpage but its better that I encapsulate them in a user control.
a) my code would not clutter my web page code, b) its encapsulated in a control c) the functions of the control would collectively manipulate the controls and their code for instance.
The code in my web page would be very clean and easier to read also overall the code is easier to maintain. also with the user controls it is possible to use the same functionality in many pages without writing the code again or even copying and pasting it.
Interfaces: 1I use interfaces in special cases. for instance there is a requirement where a control has to interact with the page it is contained in. Usually programmers typecast the page to the actual class and use it. what I do is that I create 2 interfaces. one would be the one that page implements and the other is the one that the control implements. through these interfaces they would interact with each other and the dependency is not hardcoded. that means any control that implements the interface that the page requires would implement it and the page can start interacting with the control. technically C++ implements the multiple inheritance and many modern languages do not allow multiple inheritance so to solve the issue they have these interfaces since a class can implement any number of interfaces thus giving the illusion of multiple inheritance.