To WPF είναι, εντελώς απλοϊκά, ένα νέο είδος form και ήρθε με το .NET 3. Χρησιμοποιεί πιο χαλαρό declaration των γραφικών ενώ τα κάνει render μέσω GPU, γιαυτό και έχουμε τόσο πιο πλούσιες γραφικές διεπαφές. (Επίσης έχουμε και τα animations, τα transformations, τα ...)
To Silverlight κατά το development λεγόταν WPF/Everywhere, αν αυτό σε προϊδεάζει για κάτι!!

Αν δεν κάνω λάθος το WPF/E έπαιζε μόνο σε Internet Explorer και ήταν 2 αρχεία CIL και Manifest τα οποία κατεβάζονταν από τον IE, εκτελούνταν σε δικό τους παράθυρο και διαγράφονταν κατά το κλείσιμο του παραθύρου.
Τώρα πια το Silverlight χρειάζεται άλλα αρχεία για να παίξει (με πάσα επιφύλαξη, θέλει 4: .html, .xaml, .jscript, .cs ή .vb). Στην ουσία είναι ένα υποσύνολο των λειτουργιών του WPF και τρέχει σε όλους τους μεγάλους browsers. Επίσης έχουν αναπτυχθεί αντίστοιχα projects για να είναι συμβατά και με άλλα OS (νομίζω ότι για Linux λέγεται Moonlight).
Αντιθέτως το WPF πατάει κατευθείαν στο .ΝΕΤ, έχοντας πολύ μεγαλύτερη γκάμα λειτουργιών. Δεν φτάνει ακόμα όλες τις λειτουργίες των Winforms, αλλά ας μην ξεχνάμε και το project "Crossbow", που μπορείς να εισάγεις components από τα winforms στο WPF!
Δεν είμαι κανένας ειδικός του θέματος, και εγώ τώρα το μαθαίνω!! Οπότε δέχομαι ευχαρίστως τα σχόλια ή/και τις διορθώσεις!
I think there's to much blood in my caffeine system..