A site called moz.com currently has the top spot in Google for the topic of Sub-domain v. Sub-directory.
Apparently people at Moz site obsess over SEO and getting that precious top spot in google appeases their egos.
That an SEO obsessed group accomplished an SEO goal does not mean that the group has the best answer to this question.
I dislike SEO, I think people should develop the navigation of their websites to the benefit of people and not to the vagaries of a search engine.
IMHO, one should consider user experience before thinking about search engines.
Subdomains are extremely effective in conveying information about the structure or content of a site. I opt to use subdomains when I want to communication information about the structure of an organization, or to communicate primary information about the structure of a site.
As the subdomain appears before the domain name, they are useful for people who access your site by typing the URL in the address bar.
Likewise, it is also easier to get people to link to content differentiated by a subdomain than by a sub-directory. I find it easier to get someone to link to blog.example.com than www.example.com/blog.
When a site uses different language, I find it more effective to communicate this a subdomain than subdirectory. I prefer en.example.com and fr.example.com to example.com/en and example.com/fr.
Efforts to market to different areas is usually best done with subdomains. For example, in the Arizona Color project has different directories for different counties, eg pima.arizonacolor.us is for Tucson, coconino.arizonacolor.us is for Flagstaff, etc..
I think it best to communicate different administrative functions with subdomains. The url help.example.com does a better job conveying that you are at a help desk than example.com/help as the name of the department comes first.
When different parts of a web project have radically different structures, I prefer to convey this with a subdomain. For example, blogs are collections of free form essays organized by date. I like to keep the blog in its own subdomain, ie blog.example.com.
When properly developed a blog should be part of a social media effort and not part of a primary site. Ideally, one should have a social media group running the blog and not an SEO expert.
People should come first and search engines second.
Most of the large blog services these days include social marketing services. If I were in charge of the social media of a company, I would maintain a blog on each of the popular blog services and use the blogs specifically to interface with the people using the services.
I point the subdomain blog.yintercept.com to blogspot. Google users can follow the blog. If I were smart, I would spend time engaging with folllowers.
I point the subdomain tumblr.yintercept.com to a tumblr web site. If I were a social media aficionado, I would be actively engaging people one tumblr with that blog. (tumblr.arizona.us is a better example. This subdomain is simply about interfacing with people who photograph the Grand Canyon State.).
In conclusion, I think that web designers who are interested in interacting with people and the market should make use of subdomains in their over all structure. Subdomains are extremely effective at communicating administrative functions or for helping sites engage in social media efforts where contact with people is more important than SEO.