If you want to setup a website with a name that you choose (www.mysite.com or whatever) then you pay for two things.
1) You have to pay an amount to actually CREATE the site name (domain name). The cost can vary depending on what it ends in, a COM site is more than a CO.UK for example.
A site ending CO.UK is just a few pounds (5 or 6 pounds) for two years.
2) You then have to pay for someone to HOST the site.
Once you have designed a website on your PC you have to upload it to a company who will host it for you.
The cost will vary depending on all sorts of factors (how much data is on the site, how much data is likely to be downloaded by users etc).
I have a very basic site and it costs me about �60 for 2 years. The cost can go up to hundreds of pounds a year.
You ask if everyone has to pay.
Well I guess very large companies, like Google or Microsoft, host their web pages on their own computers and just link them to the internet.
So their cost comes in having to pay for their own computers, data links and so on.