|What is content in the context of Drupal?|
We can certainly say that 'content' is any material that makes up the web page, be it Drupal-generated content, such as the banner and buttons, or user content, such as the text of a blog. Within Drupal, 'content' has more narrow parameters.
When you create a story in Drupal, it is stored in a database as a node, and is assigned a node ID (nid). Some would say that, with respect to Drupal, content is limited to objects (stories, and so on) that can receive comments created by users, and are assigned a node id. Others say that it is any object in Drupal that can be on a page. These technical discussions can cause your eyes to glaze over. It would seem that the latter definition makes the most sense; however, there is one additional factor that we need to consider, and that is the layout of the Drupal admin functions.
Drupal provides admin functions for creating and maintaining content, and these functions list only those objects that receive a node id. Other objects, such as Blocks, are created and maintained elsewhere.
Welcome aboard and thanks for kicking off an interesting discussion. It got me thinking not just about where Drupal is, but where it's going. I'm still mostly using Drupal 6, but have been transitioning to Drupal 7 and your comments fit in nicely with some of the changes we're seeing in Drupal.
I would say that your comments are all true through Drupal 6. With Drupal 7 and even more with Drupal 8 I think, the primacy of the node is attenuated by the switch to entities. This means that taxonomy terms become first-class entities and therefore are exposed in ways similar to nodes. By Drupal 8, the pre-eminence of the node that we are used to in Drupal will be gone.
The whole terminology of Drupal ("nodes", "taxonomy") has always revealed it's geek roots. The switch to "entities" makes that worse rather than better. But to me, the strength of Drupal has always been the level of abstraction. It makes it harder to get simple things done than in Wordpress, but much easier to get complex things done.
With entities, there is an even greater level of abstraction and more items on the page exposed to the basic module and templating system.
So in the future, I'd say that the "content" in Drupal will come to mean more and more what it means on a hand-edited page. That is to say, whatever the editor thinks it is. That said, to me "content" is always the text, images and video that support the main idea of the page. Everything else is... something else, for which I don't have a good name!
For me a node = content. Content = node (or views of nodes)
I'm only familiar with Drupal 6.
Users, menus, blocks, themes, etc.
Are not nodes however they can be made to look like nodes.
damon_cool, if you look at the way things like the Features module conceive of "content" versus "system" then user profiles, taxonomy terms are "content".
It really depends on what you are trying to do and how your site has been implemented. Broadly speaking, "content" is the informational material on any website, as opposed to its navigational/utilitarian or decorative elements.
In theory, such material in Drupal is traditionally stored in a node, and any "content" modules are designed to work first with the node system. Content access permissions, content control modules, and CCK (the Content Construction Kit) applied to nodes and nodes alone. Taxonomy terms, files, and comments are separate elements which exist to extend the node system.
In practice, many a lazy site builder will put content into blocks, Views headers, footer messages, taxonomy vocabulary descriptions, and anywhere else they see a textarea field. I would call this bad practice— such areas are not included in search results, content permissions systems, workflow systems, and the like, and may thus pose usability or security risks— but that is the state of things.
In Drupal 7, as ergophobe noted, the concept is expanded, in part because the Entities concept has been introduced, but also because a website is no longer a collection of pages viewed in a desktop web browser: it can provide feeds, snippets delivered through services, and various other outputs. So while browsing the "Content" menu will still return a list of nodes alone, it is possible to insert editable content into other things without making them into nodes. Some Drupal 7 entities may be very node-like and could be considered content, whereas others could remain very auxiliary.