The difference might become clearer for cases where the organization name is not identical to the brand name.
For example, consider the company Lenovo (
Organization) which owns the brand ThinkPad (
Brand). A specific ThinkPad product (
Product) manufactured by Lenovo could be marked up like this:
<article vocab="http://schema.org/" typeof="Product">
<h1 property="name">ThinkPad X60</h1>
<div property="manufacturer" typeof="Organization">
<div property="brand" typeof="Brand">
If you want to display both, the manufacturer and the brand, you could of course use the same structure also in cases where the organization/manufacturer name is identical to (one of) their brand names. Albeit named the same, a brand and its owner are still separate entities.
To prevent the visible duplication, you could use
link elements to hide one of the instances (in the case of JSON-LD, this is not relevant, of course), or you could consider using both types together (but that might be problematic, depending on syntax/consumer).
If you want to provide more data about one of these entities, you have to consider what exactly you are talking about. For example, a
Brand can’t have a
PostalAddress etc. Given that the
Brand type has only few properties defined, you can’t provide that much data about it anyway.