Our team is developing a rather big ASP.NET web project which initially started in ASP.NET 1.0 and was ported several times to all new versions of .NET.
We made extensiv
We have some projects which use ASCX controls extensively, and others that don't. In my experience you have to decide on a case by case basis.
My two favourite reasons for using ASCX controls are:
ASCX controls can be useful, but you really need to make sure you only use them when there's a good reason to - otherwise - as you say, you can be adding unnecessary complexity into your codebase.