Depends quite heavily on what you want out of it. If you don't want to have to do much web design, a blog (like at wordpress) can be a great solution, especially a free one - I think JustDIY's blog looks great!
If you want more flexibility, and don't mind doing some more work, a traditional web host is a better bet. Here, you have a ton of options - bandwidth, storage space, features, price, etc. Personally, if you're like me and have a small website that doesn't get a ton of traffic, the discount flat-yearly-rate plans that some web hosts offer can save you a lot of money.
My website is hosted at
https://www.asmallorange.com which is a company with a good reputation, and their service has been great. I have the 'tiny' plan which is $25 a year, for 75MB space and 3GB/month of bandwidth - I can't go sharing huge files on it, but I've never run out of bandwidth from my normal website traffic. Bear in mind you probably also want a domain name, those are typically about $7-10 a year. They have a full suite of web configuration tools to manage your website easily, and you can even automatically install popular website software like blogs, content management systems, forums, shopping cart systems, etc - all with just a few mouse clicks. I use Joomla! CMS for my site, as it saves me from having to write any HTML or do any real design work (hey, I'm an engineer, not a web designer) - I can just type in articles and the software takes care of all the formatting and other 'dirty work'.