Using a field in many content types? Usual or completely wrong? A basic question: Is there anything wrong with using a defined field in many content types?
For example: body, image_field? 
Are there any problems to be expected when I do this?
My guess is: No. No problems. But: is that right?
Deciding if what your question is about is right or wrong, is something you'd have to decide for yourself. However by reusing field you're actually using one of the typical Drupal facilities to define fields.
In the context of &quot;reusability&quot;, one would think that it is a good practise to reuse whatever can be reused.
The challenge (problem?) is that when changes are needed to a reused field, it'll be more difficult to do so for reused fields as compared to a field that is not reused at all.
To get a feeling of this, do some experiments with the Features module, for 2 scenarios: (a) changes to a reused field and (b) changes to a field that is not reused anywhere. Just look at the size of the features created in both scenarios.
My approach is becoming more and more to NOT reuse fields, to not complicate things when later on (design) changes are needed (to ensure maintainability as much as I can). This approach is also partially based on what I've learned from what's further detailed below, which applies to any release of Drupal ... (though I'm curious myself to see how things will evolve related to Relativity for Drupal 8).
Relativity model
There is an (illuminating) article &quot;Relativity Model for Drupal&quot;, especially the related page about &quot;Wrapping Information Architecture and Documentation&quot;. Here is a quote from it:

To create an Event content type in Drupal is a simple task. But there's a nuance to that task that is overlooked very often. That nuance is the machine name. But why is the machine name of a content type such an important step?

It gives the content type an explicit name of your choosing and allows database indexing to act on that machine name while being queried.
All fields contained within that content type will share the same machine name before the field name. This allows the Views module to clearly gather field data in a very defined manner using the indexed machine name.
Fields that are entity references out to other content types also begin with the same machine name followed by their own machine name. This allows simple and visual identification for origination and destination of data relationship.


It also contains an interesting example of what seems to be a great naming convention.
Remark (cfr comment from Kevin): The most difficult part is knowing when you would reuse a field vs when you won't. The big obstacle is shared field settings - changing certain settings affects all fields, when you probably only want to affect that instance.