Think of WCF as a way to project your application's services (functionality) across boundaries that have traditionally been very difficult to cross. HTTP(S) is one way to enable this. Factor in REST principles, and you get to some pretty elegant solutions that are very inter operable. WCF-based services also give you more flexibility in how you can deploy your solution in different environments. It affects non-functional elements like security and scale up vs. scale out discussions, too.