A WFS is just an API but conveniently one where everyone has agreed a standard way of talking to it beforehand. So rather than having to read a new bunch of documentation and write some new code for every new dataset you would like to add to your client you can pull in a library that has implemented the standard and use that.
As to why you might offer people access to your data that way, probably because using standards allows the most people using the widest variety of software (both open and proprietary) to access it without having to develop (or purchase) a new client. It is also the cheapest way to serve data because there are already well tested standard servers that will convert your existing data into a standard format and API for people to use.