Ja też nie lubię, wręcz nienawidzę. Zwłaszcza, jeśli trzeba sprawić, żeby coś co działa wszędzie działało i pod Operą. Ale po ponad pół roku pracy głównie w ASP.NET idzie przywyknąć. 
Poza tym np. obsługa bazy danych, obliczenia, operacje na danych nie zależą od tego, jaki będzie interfejs użytkownika. Do tego nie trzeba znać ani WinForms ani ASP.NET. Tylko raczej ciężko znaleźć pracę, w której nie będzie się tworzyło ani kawałka GUI. 
Aplikacja WWW to często najwygodniejsza forma aplikacji dla użytkownika, a przede wszystkim firmy, bo powoduje mniej problemów z konfiguracją komputerów, aktualizacjami aplikacji, praktycznie brak wymagań sprzętowo-programowych od komputerów pracowników, możliwość pracy spoza firmy, a nawet z komórki, itp. Ludzie chcą wygody, a nie dźwigania ze sobą wszędzie kompa. 
Jasne, że znaczna część oprogramowania użytkowego i narzędziowego musi być napisana jako aplikacje desktopowe, bo korzysta z zasobów, do których nie da się dostać przez przeglądarkę. Ale nie zauważyłem zbyt wiele takiego oprogramowania korzystającego z .NET ani nie znam zbyt wielu firm takie tworzące.
Nie zapominajmy także, że WinFormsy jako technologia są powoli porzucane na rzecz WPF. A WPF (czyli w zasadzie desktopowy Silverlight) bardziej od strony programowania przypomina ASP.NET niż WinFormsy (deklaratywne tworzenie interfejsu w języku opisowym, opartym na XML).
Gdy szukałem pracy w lato zeszłego roku, to liczba ofert aplikacji webowych była ze 20 razy większa od desktopowych, znaczy takie są wymagania rynku. Nie wystarczy znać C#, trzeba też znać ASP.NET, JS, CSS i XHTML. A za 5 lat być może trzeba będzie znać coś innego, bo to już będzie stare/porzucone/zmienione. C# przecież ciągle się zmienia, a .NET rozrasta. To nie jest tak, że raz się nauczysz na całe życie.