<p>Do you always use a second-level cache in Hibernate or do you first try it without and only use it when the performance goes down?</p>

My usage of Hibernate has always been in the context of another framework (Spring, for example), where enabling caching is nearly trivial.  A number of these projects have made use of caching via
ehcache
for some critical domain classes.
Having said that, this is another area where we have to make trade-offs between resources - balancing retrieval performance against memory usage.  Optimization without measurement has been shown again and again to be poor practice.
Collect metrics about the performance of your application.  Then decide how to address the slow spots.  Caching may be the least of  your worries.