I built and maintain a big desktop application written in .NET (1.1, 2.0 now). The application is for Dentists and it works by making use of the Ink technology found in the MIcrosoft.Ink namespace in the TabletPC SDK.
Some dentists use Tablet PCs to make things easier and leverage the power of that technology.
On the other hand, since I find Windows UI not good looking (XP/Vista) and find that every application looks the same and inconsistent, I wrote my own GDI+ library of controls and while respecting more or less the "windows UI guidelines", I came up with very nice buttons and other UI elements that make my App look "way better" than any other "normal" windows application.
We run at full screen (maximixed, no controls, no app bar), but we do this because it's a very specific application used in machines dedicated to the task. Dental clinics don't use Microsoft Excel and ALT-TAB to our application. The application works like an "ATM", touch touch, done. Very simple. It has been a success in Europe where I am.
So I have to say that I am glad that the app is not a web application, because when we started, the .NET GDI+ for Windows Forms was way superior to anything that WEB could have offered; even today, Ajax is not able to reproduce the full desktop experience (not that it should but…).
Java had an ugly UI back then (don't know now) so we elected .NET and used C# ever since.
Desktop applications are not going to die anytime soon, some things still cannot be reproduced inside a webrowser.
I considered Java, C++, Delphi among others before starting with this six years ago. None offered the simplicity and power of c#.NET with little disadvantages (like the Framework that nobody had back then). Now, every windows box will surely have the .NET Framework 2.0.
Again, my consumer application is very specific and targeted towards a closed market, but we don't have anything against .NET.