Hi, Dmitry,
I can only speak from my own experiences. I've built over 10 Winform apps, and am only now building my first webform app.
One factor will often be the user base. If it's an application with many customers who aren't part of any organization, you obviously can't demand that they run the .NET framework on their machines. All you cann count on is that their running a browser - and so you'll need webforms.
But when you can control what's installed on user's machines (i.e. application is for an organization of some kind, even if the users are scattered across the country or even the world), then IMO Winforms is the way to go.
Of course, some of the newer technologies (Ajax, Atlas, etc.) may add a dimension to theese arguments.
Kevin