I am very confused between WPF and WinForm. I am not able to understand the usage of WPF over WinForm? What is the usage of WPF ?
One benefit is the separation of concerns. You can build your application without worrying too much about UI stuff like layout, colours, fonts, etc. Then you can pass it to a designer who can make it look amazing (hopefully) without needing to understand code (using Blend or some other tool).
From a purely pragmatic point of view, my choice of which framework to employ is often down to which third-party controls I need to use (although you can use a WPF control in a WinForms app, for example - using hosting controls).
Have you seen this?
In short, WPF is the next UI platform for Microsoft Windows. It learns a lot of lessons from previous technologies, but the risk is immaturity of tooling and third party components.
HTH, Kent
WPF is a new platform for developing applications for Windows (and for browsers). WPF is not necessarily there to replace WinForms. With WPF, it is easier to add 3D, video, and animations to your application. Because it is XAML based, it is also easy to bind to XML data, e.g. data from a webservice, and dynamically load it as content.
WPF also, in my opinion, better seperates the UI programming from the business logic. It is easier to have an advanced WPF designer build your UI with a tool like Expression blend, and yourself as a programmer, focus more on the back-end. In that way, it is more like having a HTML / CSS frontender creating a slick design for your site, while you work on the back-end.
WinForms has (as for now) more 3rd party controls available though, and if you don't really have a need for the stuff that WPF brings, then you certainly don't have to switch to WPF.