There are a few limits, but they're mostly not documented, probably because they depend on the exact nature of the complexity of your fields. In Classic, too many fields on the layout can result in significant loading times when trying to view records. In Lightning Experience (LEX), it can result in errors saying that the query is too complicated. This will literally prevent users from being able to view records in LEX.
Note that it does not matter how many fields you have created, but how many are displayed. If you want a few dozen formula fields, go for it; you can use different ones in different layouts and reports. Just remember that you'll need to test your various layouts for performance problems.
Also, there's a hard limit of ten unique relationships allowed:
Salesforce allows a maximum of 10 unique relationships per object in cross-object formulas. The limit is cumulative across all formula fields, rules, and lookup filters. For example, if two different formulas on opportunities reference two different fields of an associated account, only one unique relationship exists (from opportunities to accounts).
Also, if you're using Queues and Users for Owners, and you use both, it counts as two:
If your formula has Owner:User.fieldname and Owner:Queue.fieldname, both of these count against the limit of 10 unique relationships per object in cross-object formulas.