Not necessarily. I suggest that you first consider how the metadata will be used after the metadata is populated. Is it descriptive information for authors? Is it used for search purposes? Is any of it confidential? Is it queried? Will apps such as Photoshop need to use the data? Will be be used by devices such as cameras? There are a plethora of use cases out there that may apply to your assets. Identify the ones that are relevant for your solution and that will help inform your decision. For example, I worked with a customer that had many photos and needed to enter an unique ID, names of people pictured, and photographers would populate the dc:title and dc:description using their tools. This information was not confidential, was not queried, it was used by authors/photogs, and the title/description was used in any 3rd party apps. We stored information in a couple different ways. The dc:title and dc:description used the Dublin Core metadata schemata we reused that within the DAM then for the ID and people pictured we decided to create a custom namespace + attributes. All of this information is stored in the metadata as you described above.
One of the only times I do not store info as part of the file metadata is when there some sort of sensitivity around the data and there is too much risk having someone download an asset and send it outside of the company where someone could read it.