Will the client program need to download and install any
package/bundle etc from the website/server etc providing APIs and
include it with their product or no bundle is needed to download from
It depends. Generally, when you use a webservice, you make a request and you get a response. How you handle that is your choice. You needn't necessarily download anything but the responses from the service.
Most of the times, though, you want to generate an interface to the webservices which handles the communication part for your client, so you needn't write it yourself. You mostly do so by downloading WSDL files for the service which can be used to generate such a client interface. This client does not contain any logic of the WebAPI, it's purpose is to let you to call the logic on the serverside. The generation of such a client interface is just for your convenience, so you don't have to parse the responses or deal with the underlying protocol.
What are the variants in common use?
SOAP and REST with responses in JSON or XML are the most common forms of such services.
Does it boil down to how much we want to do on client side and how
much we want to do on server side? like not downloading anything from
web API service provider means everything happens on web API provider
Well, I don't know how to answer that part of your question as I don't understand it. When you make a call to a WebAPI, the request is processed on the server and a response is sent back to you. Even if you generate client stubs from WSDL, this just provides an interface and handles communication for you. There's no domain logic clientside in such a case.