1.User Control is a page file with extension .ascx which can only be used within a single application. But custom controls are assemblies(dll files) that can be used in multiple applications. 2.User Controls cannot be added to the ToolBox of VS.NET . To use a user Control with in an aspx page u have to drag the user Control from the solution Explorer to designer page. But Custom Controls can be added to ToolBox of VS.NET. 3.User Controls can be viewed as a sort of generic controls during the design time. The proper GUI of user controls can be viewed only during the run time. But Custom Controls can be viewed during the design time. 4. User controls are created from existing Webserver and html server controls . But a developer who creates custom controls have to render every thing from the scratch. 5.Since the dll assembly of a custom control is being used,a custom control developed in C# can be used in a project developed in VB.NET or any other managed code and vice versa. This is not possible with user controls.They are language specifichttp://kalitinterviewquestions.blogspot.com/
http://www.dotnetfunda.com/interviews/show/379/difference-between-custom-control-and-user-control read this link