A .com domain is not free, they cost approximately US$10 a year. Some offer a very basic 3 page site bundled with the domain.
There are free web hosting services around which will place advertisements on your site in exchange for the free hosting. Alternatively you can get paid hosting, or as you mentioned, host your website on your own personal computer. However, if you want your site to be able to viewed by people at all times, this would mean you would have to leave your computer on 24 hours a day 7 days a week and permanently connected to the internet. It is also not a very reliable method.