It's a good practice always restore controlfile before restore the database? I'm beginner in Oracle, but I'd like know if it's a good practice always restore the control-file of a backup-set before restore the database. I ask this because always when I restore the control-file I need open the database with reset-logs option and I don't know if it's a good practice to do this.

If the answer is no, so when I need restore the control-file?
It depends entirely on the nature of the failure and the need of recovery.  The ends-and-outs are too complex to put in a single answer here, but the Database Backup and Recovery User Guide has a whole section of scenarios on "Diagnosing and Responding to Failures". You would do well to study it.  And build yourself a private VM under VirtualBox, to practice on.

Recovering a database is the Prime Directive of any DBA.