From an SEO standpoint, I would say that 99.9% of the time, I recommend that companies maintain their blog presence on a sub-directory (i.e.: www.sitename.com/blog) rather than hosting the blog on a subdomain or a separate domain. The reason being that when you add content on a regular basis to your blog, you are adding content “to the root domain”, and this freshness is a “good thing” for SEO. Aside from that, if you were to create a piece of content that earns social shares (and LINKS), these signals are directed toward the root domain, rather than a subdomain or a separate domain. If you have no option of creating a blog in a sub-folder/sub-directory (CMS won’t support it, perhaps?), then a sub-domain is – to me – the next logical option.
By hosting on a sub-domain, you do get to piggy-back on the authority of the root domain, so that your blog can earn traction (rankings) sooner than it might if you were to – for example – host a blog on a separate domain. The final option, hosting a blog on a separate domain – essentially requires that you put a lot more effort into building up that domain’s authority than you might if you were to host the blog on a subdomain or sub-directory.
Some folks choose to go the route of a separate domain because they want to brand this uniquely (don’t need – or want – this tied to the company’s brand; want to present an “unbiased” news source). So, there are good reasons for going this route. Of course, if this “unbiased news source” takes off, and does earn the authority that you might hope for, links coming from this “unbiased news source” could be helpful, from an SEO perspective. However, in my opinion, the vast majority of positives reside from hosting your blog on a sub-directory.