It's possible to publish a website on your home computer. If you do this your computer will be the internet server for the website; a server in this sense just means a computer that serves up a site.
One issue you may face is that your ISP might be blocking people who try to do this. This is often done by filtering out all traffic coming in to port 80 on your connection. If you just have a couple of friends you want to share the site with, you can set up the server on a non-standard port and let them know what it is. Keep in mind that on a typical home internet connection you will have to have access to your modem or router in order to do what is called port mapping to let incoming traffic through. Look up tutorials on this; it should be pretty easy.
As far as what established companies use for their websites, it varies. If you're a very big company you will build your own datacenter with thousands of server class computers in it and lots of bandwidth. If you're a smaller company you will probably rent space in a commercial datacenter and put your servers there. Smaller yet would be renting a dedicated server which is run by someone else. For personal websites there are many places which will offer you shared hosting where your site is run on the same server as several other people's sites.
The equipment used for all of this is a little different from your home computer, but it's just another computer. 'Servers' will typically be in a rack mount case, have redundant power, and have multiple CPUs and lots of RAM. This is just because these companies have so many customers that they need the power; your computer should be more than powerful enough for a personal website.
For a domain name, I would recommend going with one of the free dynamic DNS providers on the internet. You can buy your own name, but it will take a long time to re-configure it if you have to re-boot your modem and you get a new IP address. Dynamic DNS providers will give you a program to run on the computer that's your server which will let them automatically re-route traffic if your IP changes.
Finally, take a look at
this lifehacker article for more info.