1) I am wondering when is a computer given a static ip address?
Typically when that computer hosts a service that needs to be accessed by other computers.
Such computers are commonly called servers.
2) Does one need to pay for a static ip address?
Typically an ISP will charge extra for providing static IP addresses.
On your private LAN, which is provided by your router, you are free to use dynamic and static IP addresses.
Your wireless router is assigned a static IP address for its LAN-side interface. This ensures that all hosts in your LAN can find the router.
Note that DHCP can hand out a reserved IP address as well as a dynamic IP address. This reserved address would always be provided to a host specified by MAC address.
3) Since the point of ip address is to uniquely identify a computer in a network, shouldn't the address be always static?
Typically only servers need static (i.e. known) IP addresses.
When you use your web browser on your PC, you're the client in the client-server model. The client makes a request to the server (e.g. Google or Amazon).
The server handles the request by returning a response back to the client.
In theory the client could use a different IP address for each request, because the request contains the return address of the client.
Hence the client (e.g. your PC) does not need a static IP address.
in other words if the address keeps changing then how can it help in uniquely identifying a computer?
There are other mechanisms for finding hosts on a network.
You might use a hostname rather than an IP address to identify a host. Then you need a DNS server to maintain and map hostnames to IP addresses. (Windows has its own protocol/service to keep track of Windows hosts on the LAN, e.g. the workgroup or homegroup.)
Each Ethernet interface is identified by a MAC address. The ARP protocol is used to map an IP address to a MAC address.