WPF is focused on presentation and creating "slick" interfaces that may be animated etc. WPF utilizes graphic cards through DirectX and also intends to separate the interface from the underlying logic. In comparison, Winforms use the standard GDI subsystem which in many cases is more mature and can be considerably faster in certain graphic tasks. WPF is also designed with XAML which is a derivative of XML and thus the structure is quite a bit different than that of WinForms.
When I am asked which I prefer someone learn first, I always recommend WinForms first for the following reasons...
1) It is standard and taught along with .NET application design
2) Most likely as a programmer you are going to spend a lot of time in code maintenance which will have winforms already created.
3) Industry is still using a lot of winforms and very few have jumped into WPF yet, even though more are doing it every day.
4) Winforms will get your feet wet and provide a solid foundation which can help you jump into WPF much faster.
5) In some situations Winforms are a bit easier to work with and can be faster depending on the application.
Now obviously WPF is coming around and maturing. So it could possibly replace winforms some day. However I don't see it doing this immediately and you can still get the most bang for your buck doing winforms right now and then pick up WPF in the future.
See this link for advantage of wpf
http://stackoverflow.com/questions/636028/advantage-of-wpf-app-vs-winform-for-business-apps[
^]