ASP.NET user controls provide rich functionality and easy reuse of code but limitations come in when you have to reuse that control in several different website applications.
When you have a control that you are going to use in several different applications then it's a wise idea to build server control library and either add reference to the application or add that control library's dll file to bin directory of web application.
[More]