Web Service is a general concept and WCF is a Microsoft-specific (.NET) technology, so only so it's already very different.
Web Services often uses REST as the basic mechanism. There are some rules, but it's pretty liberal how the die can be trafficked. Web service has nothing to do with XML. Can be used on any standard web technology. Web Service is not SOAP, it can work as SOAP.
WCF can communicate in many ways, it is a technology that attempts, as far as possible, to abstract the various communication mechanisms that exist, and one of them may be a web service . It is an * extensive framework that attempts to be a Service Oriented Architecture (SOA). The cool thing about it is that you can change the binding of communication without changing "anything" in the code.
Some mechanisms are TCP, UDP, Named Pipes, Peer To Peer, MSQM, and of course HTTP, among others, it is even possible to plug new ones. It is not just an abstraction in communication, it tries to create a messaging pattern, as web service does as well.
WCF was much talked about 10 years ago, but not today, it is almost out of use. It is a heavy technology, difficult to learn, to use, and has design problems. The idea is good, but it was poorly implemented and some situations are too specific to take advantage of this abstraction. There is room for its use, but it is more limited than previously thought. It was created in the last days of megalomania in software development where it was believed that computers would evolve indefinitely and abstractions would always win. Much of what you read about it is based on assumptions that have not been proven or that only made sense 10 years ago.
Web Service is universal, WCF does not need to have applications prepared for it. In fact, the same thing happens with web services , but because it is a universal standard, it has better interoperability.
Some people like the Service Stack , but even it can be cumbersome and difficult, and not so universal.