Does having too many content types negatively affect site speed and performance?
The number of content types does not affect the performance of a Drupal site.

Sharing fields among the content types does affect the performance. This is because of the way CCK stores fields.


If the field is not shared and allows only one entry, it is stored along with other such fields in a table designated for that content type. That way, all such fields can be loaded in a single query.
If the field is shared or allows multiple entries, the field is stored in its own table, making an extra query (or join) per field necessary to load the field.