Blogging has long been established as the "cat's meow" of search engine optimization. Google wants new content on your website so you can stay "fresh" and maintain your ranking, and blogging is the best way to accomplish that.
WordPress is a common platform for blogging, and they make it easy to set up a random domain name for your blogging site. You could also set up what's called a "sub-domain" for your blogging website. Both of these methods will work, but not nearly as good as setting up a blog on your own website. I'll work through an example to explain why.
Let's say I have the website www.perosijewelers.com as my main jewelry store website. I spend all my time and money trying to get local customers to that website and then into my store. I want to show my customers that my store is a cool place to buy their engagement rings, so I set up a blogging website specifically for that.
Now let's say I find it easy to set up an account with WordPress and buy the domain name CoolPlaceForEngagementRings.com. That would be my new blog for proposals. I could link every blog post back to www.perosijewelers.com and my customers would love reading the stories.
The problem is that Google would see CoolPlaceForEngagementRings.com as a quality site with new content, but my www.perosijewelers.com website would still drop in rankings because I'm not adding anything new. My existing customers love reading the stories and see what new on my website, but my website is not attracting any new customers.
CoolPlaceForEngagementRings.com and www.perosijewelers.com are 2 completely different websites using 2 completely different domain names, and that's why my ranking is dropping. So after months of work blogging, now I need to change the CoolPlaceForEngagementRings.com to something else, but I don't since I already have everything on WordPress I decide to simple change CoolPlaceForEngagementRings.com to blog.perosijewelers.com. That's the same domain name and that should work, right?
Wrong.
The website BLOG.perosijewelers.com and WWW.perosijewelers.com are actually 2 different websites. Sure, they share the same main domain name, but the BLOG location is actually a "sub domain" of perosijewelers.com.
So again, after all that work I'm getting a lot of new people to visit the blog website, but few new visitors are going to my main business website. The harder I work at updating the BLOG site, the more Google lowers the ranking on the WWW site because it seems like I've abandoned it.
The simple solution is to add your blog into your main website as a sub-directory, not a sub-domain... as in... www.perosijewelers.com/blog.
Blog set up inside sub-directories give all "fresh" credibility back to the main domain instead of hogging it for themselves.
Hopefully this little anecdote helps explain how this works and help you choose the best blogging solution for your website.