Simple, you can you web services in anything you want, the BIG Point is that if you create some web services, programmers can consume those web services with any programming language.
Example, lets say you have a manufacturing company, and for some reason you want to give your customers the latest info about your products, you can say well i can put that y my website and display the info i want in there, well true but what about if you want for some reason customer can integrate your products with some kind of programming in their end. so you can create a web service that return all the info of my products and you can build your service in c# but they can consume it using java. or whatever programming they do.
personally i have never worked with passport authentication but this is what it is "Passport authentication points to a centralized service provided by Microsoft that offers a single login and core profile service for any member sites. It costs money to use Passport, which has also recently been depreciated
In the other hand Windows authentication in a nutshell will automatically authenticate connections between IIS and Active Directory, It is the way to go if you are working in a Intranet environment. Basically if you running a web app with windows authentication any valid windows user can login to your application.