WCF shortcuts a whole lot of things in making a web service, but if you stray too far outside it's defaults you will have some additional work (usually configuration) to do that IMHO is not documented very well.
Compared to ASMX services is can be a huge timesaver, but if you are writing REST services sometimes it is easier to use a MVC project as a starting point these days.
What you get is all the endpoint options without having to code them, but the documentation on configuring the non-common ones is very sparse. You also can get the ability to have one service speak in more than one format and the ability to expose a interface directly as a service with minimal additional code. This is handy if the class is meant to be used locally or remotely depending on situation.
It also gives you better hosting options for non-web services like tcp services without having to write the service management piece yourself. If you want to skip all the string nonsense this is a big deal sometimes.