Well that helps clarify things a lot for me.

The decision of whether to create a Web application or create a desktop or client/server application is pretty complex. I don't think there is any single approach that fits every case.

I suppose "WinForms" might go away in .Net someday, and the replacement might be WPF or whatever replaces WPF. The "WebForms" browser-based UI won't replace it entirely though until .Net completes its retreat to the server though, as Java did 10 years ago. Just as with Java you'll see the occasional contrarian using a "widget framework" to try to make desktop applications in .Net. This will be seen as eccentric however, and rare.

Long live COM and native code!