I am not sure if they internally call web services or not but they are not counted against the number of api calls allowed per ORG per 24 HRS, so that does not matter to us.
Salesforce W2C works like this:
When you create a HTML Page it included element and that form element has action which tell browser where to POST the data once the submit button is clicked.
There is another important hidden element in your form that is orgid which tells the processing servlet that this post from browser is for which salesforce org. By looking at orgid servlet creates case into specific org.
Apart from this you can include any(almost) fields you want from cases object to be included in your HTML form.
Here are answers of few questions you asked:
1) What if I want to take case from an already existing web page.
You can just make sure about form action, orgid and field names mapping
2)What fields are required to be mapped or are mandatory for ex, for name, size etc?
Any fields marked as required on cases are mandatory
Web to Case has its own metered limits, but they're not API calls. Instead, it is a built-in servlet that queues cases for all organizations, then processes them in a first-in, first-out mode of operation.
It is capable of receiving cases even when salesforce.com is down (e.g. during maintenance), and will process all cases that are under the metered limit when the server returns to operation. Excess cases are emailed to administrators so they can manually create the case.
Also, validation rules, system validations, triggers, etc. can all cause a case to not be created. Validation rules and triggers should be kept to a reasonable minimum when working with W2C to avoid losing cases.