I don't like ASP.NET anymore. You might have guessed that from the title. Sure, it's better than ASP, but then, so is Notepad. It's great for demos - slap a few controls on a form, hit Run, and there's your shiny new Web application, But it sucks for real development. Microsoft knows it, too, which is why almost every ASP.NET article on MSDN is about the yet nonexistent version 2.0, which is supposed to solve everything by making us rewrite our code.
ASP.NET 1.x is a leaky abstraction if I ever saw one, and a bad one, too. ASP.NET pages are supposed to be classes (deriving from System.Web.UI.Page), but still behave much like stateless server extensions. If you're writing a static web site, that's fine. But if you're writing a Web application that's actually supposed to do something, you're in trouble. And just wait until you try to connect to a database server. You can easily determine how immature a data-access architecture is by looking at the amount of code you have to write to perform the basic database operations, such as inserting records or editing master-detail relationships, and that measurement in ADO.NET is just scary.
And I haven't even noticed. People get used to anything. In the last six months, almost all of my development work was done in ASP.NET, and I came to accept all this extra code as necessary. Until, a couple of weeks ago, a customer ordered a small Windows application, which I wrote using Delphi 2005's Win32 framework, the VCL.
VCL development is easy. There's almost no redundant code, no need to handle the trivial stuff - the framework does this for you. I could concentrate my efforts on writing the actual logic (a specialized diff engine for a specific file format), without worrying about things like sessions, authentication, view-state, load order, or browser capabilities.
Now, I know Web development is different from Windows development. You can't really compare the VCL to ASP.NET. But many of the problems with ASP.NET are, in fact, not related to Web development at all. You'll encounter the same issues with data access writing a data-enabled WinForms application. The real issue is the framework's maturity - .NET is simply not ready. It's not that you can't write powerful applications in .NET - I've written several myself - it's that writing them using the VCL is so much easier. Fortunately, Delphi 2005 lets me do both (take that, Visual C#).
I expect I'll still be developing most of my Web applications in the near future using ASP.NET. It's what the market wants, and does give me more deployment opportunities. But whenever possible, I'll write Windows applications using the VCL.