I use a mix of HQL and SQL. For some complicated queries, I want to load objects with multiple collections in one single query. With Hibernate, I'm stuck with loading only one collection in one query. But mostly I use HQL. I haven't used Criteria, mostly because I wanted to put all my queries in an XML file so they were easy to see.
I found this blog interesting:
http://www.i-proving.ca/space/Technologies/Hibernate/SQL+vs+HQL+with+the+Session+Cache
and
http://blog.hibernate.org/cgi-bin/blosxom.cgi/2006/03/17/