If content is going to be drastically different you need to use sub domains. If the content is related to the primary site theme (collectively speaking what the site is about) then use sub folders.
Example (using folders appropriately):
pets.com <-- central theme, in this case related to the central theme of pets and related sub topics involving pets.
pets.com/dogs <-- related to central theme
pets.com/cats <-- related to central theme
pets.com/blog/caring-for-your-pets <-- slight deviation, but relative to central theme
Typically the increase in amount of sub folders the more divergent your topic will be considered from the central theme of the site.
Example:
pets.com/animal-care/dogs/poodle/products/shampoo <-- While related to the central them, shampoo alone is divergent from the central theme, but relates back.
Example (using sub-domains appropriately):
john-smith.com <-- central theme, in this case things related to an individual named "John Smith"
john-smith.com/about-me <-- related to central theme
programming.john-smith.com/php-lesson-1 <-- overly divergent topic , does not directly relate to john smith himself. Although it is his interest it is not what the site as a whole is collectively about.
photography.john-smith.com/cameras/lenses <-- overly divergent topic, does not directly relate to john smith himself. Although it is his interest it is not what the site as a whole is collectively about.
*EDIT*
Here are some useful sources for further information:
http://www.mattcutts.com/blog/subdomains-and-subdirectories/
http://www.youtube.com/watch?v=_MswMYk05tk [web master video on the subject]
Quick Summary:
Google's most recent position on the subject is basically that they are now treated ALMOST the same. BUT depending on what video you watch or post of his you read (or on Google's web master help section) Google's attitude does change slightly from one post to the next. I believe my logic and methodology as described above is the best way to do it in my professional opinion. I do sometimes use the 2 methods interchangeably as Matt suggests, but typically only on my small sites I don't care about, the purpose not so much for SEO, but various other reasons.
Also, keep in mind your site structure from a usability stand point.
--> Most people EXPECT related content to be in a sub directory this may cause users manually typing in urls to get an error page.
Example:
You expect: sample-site.com/forum
Where as some places do: forum.a-website.com
It's much easier to forget method 2 and that can lead to a bad user experience and website abandonment.