Google "free website" there are sites that let you have a basic one on thiers. Or look through your ISP they may include a free site in your ISP costs. If you want your own custom address, you'll have to pay.
There are free hosting services, but you will have to sacrifice some ads being displayed by the host, unless perhaps you can get some space from your internet provider.
As 98panther said, if you want your own domain like johndee.com, then you HAVE to pay for that.
A search of google or yahoo is likely to give you endless choices.