To summarize:
You need web hosting. This can be anywhere from $40 per year to $40 per month or more depending on what you need. Generally you can start small and keep increasing as needed.
You need a domain name. They cost between $7 and $15 per year depending on where you get them. Some hosting providers include the domain.
If you want to create the site yourself, you need knowledge of HTML, graphics work, et cetera. You may be able to get away with not knowing HTML for very basic sites (by using an editor such as Nvu), but anything significant will require some learning. Don't worry, HTML is very easy to learn. (Just don't use Internet Explorer. Ever. Stick with Firefox, Safari, Opera, or another browser that actually supports the standards.)
If you want to have dynamic content, you need a decent engine. I use WordPress for my blog, but to each their own; different engines are more suited to different types of site. Some engines might require some knowledge of programming.
Otherwise, you can have a professional create the site. This is often expensive.