I liked WCF, but .net devs insisting on using it to create pointless separate physical layers for web apps dulled my enthusiasm. Resume driven development in it's highest form.
I liked kinda liked it, but trying to unify HTTP, TCP, Pipes and MSMQ into a single framework was probably overly ambitious. WCF always felt very complicated with all sorts of sharp edges to me.
WCF also originally supported peer-to-peer network topologies, discovery methods like PNRP (Microsoft's competitor standard to eventual "winner" Bonjour/mDNS), various versions of the SOAP metadata formats, and WS-* standards, etc.
It was definitely ambitious. When it worked it was sometimes magic, and when it didn't it was a giant mess to resolve.
[ETA: In one past life I made the mistake of trying to use WCF Peer-to-Peer for a project and I still have scars from that. :O]