The web has changed since the early-mid nineties: CSS exists, Flash is no more, and websites have become much more about beautiful design and bountiful features than text-and-image-heavy monster pages.
Step 1: Understanding domains vs hosting
To have a website, you need two things: a domain name (which tells you where on the web to go), and hosting (which stores your files — yes, every website is just a collection of files — somewhere that people can access them). Most modern services offer some variation of both; and many of the services recommended below offer custom top-level domain name registration as part of their paid packages. But should you take advantage of it?
Step 2: Do I want a free or paid service?
As with the early days of the web, there are free services you can use to build and host your website — but they come with feature limitations. The biggest issue is control: Most free services host your data, and as such, you’re tied to them. If your service goes bankrupt, or gets shut down, your data may go with it.
Free services also rely on subdomains for your hosting — that is, something like “[yourname].tumblr.com” versus the top-level domain “[yourname].com”. Your web URL will likely be forever tied with the service unless you pony up a little bit extra for a custom domain name.
In contrast, paid services often offer you a custom top-level domain name, full access to their website builder, and extra storage. Each service offers a variety of options for the actual building of websites — most are template-based and WYSIWYG, with some allowing under-the-hood customization if you want to venture into the world of HTML and CSS.
Step 3: Pick a website service
There are quite a few free and paid services out on the web, which may make choosing one an anxiety-driving experience. Thankfully, these days it’s as simple as narrowing down what you need from your website.