why should you use web service to talk to live database
The problem with this question is that "you" is not a computer and cannot talk to a database, via a web service or otherwise.
Databases need to be accessed by programs. Programs have various NFRs that affect how they are deployed, and depending on the manner of deployment, a web service may be necessary. So the answer to your question depends on what you mean by "you."
A web site may be able to access a database directly because it may exist in the same network. A Windows application, running on a remote machine, may not be on the same network, and would not be able to reach the database over the normal means-- for example, port 1433 (the default port for database connections) may not be opened on the firewall. In this situation, you can build a web service to talk to the database, and the Windows application can talk to the service over port 80 or port 443, which are usually opened.