A domain name that is "beneath" another in the naming system's hierarchical structure. For instance, foo.bar.net is a subdomain of bar.net. Subdomains are added on at the left end of the name, with the "dot" as the delimiter between levels. They can be added to an indefinite number of levels, like quux.baz.foo.bar.net.
Technically speaking, any domain is a subdomain, since even the TLDs are subdomains of the naked "dot" that is the root. However, in practice, the label "subdomain" is generally used for domains nested to a deeper level than that which the domain registrars register directly. For instance, since the common GTLDs let you register second-level domains, such as example.com, a subdomain is a third or higher level domain in these TLDs.
Subdomains are quite logical and well-structured methods of giving sensible addresses to a group of related entities, for instance the local offices of a company or chapters of an organization -- newyork.foobar.org, miami.foobar.org, etc. In fact, it's too logical, sensible, or rational to ever be considered by the dumbass marketroids who drive the development of most Internet sites these days; that's why they instead get silly unnecessary separate second level domains, generally in .com even if it's for a nonprofit, for every single related entity, including ones that don't even exist yet but they want to protect from cybersquatters anyway.