How come we must shell out money for a domain name?

How come we must shell out money for a domain name? The question might sound silly but I’ve found it very difficult to know that so why do it’s important to pay for a domain name when net is free of charge? And who do I pay? Why do i must purchase your own domain