WCF addresses the problem of building distributed applications that need to communicate with diverse clients in different environments. It provides:
1) Unification of Microsoft's distributed computing technologies and interoperability with other technologies and web service platforms.
2) Explicit support for service-oriented development through features like defining service contracts and data contracts.
3) Flexibility in hosting services, defining endpoints, messaging options, security, transactions, and other aspects of service design and implementation.