I've always preferred to use hostname for things like network shares, SQL Server instances, etc. I usually find hostnames to be more descriptive and easier to remember.
However, recently one of our file servers died. It's IP was tied to the network adapter on another server, shares were re-created and almost all jobs that used IP address kept working as nothing happened.
For the jobs where I used hostname I had to go through several dozen of configuration files to change hostname and next day I found out I actually missed a couple. Note that this time I actually used IP address so that when replacement server is online I wouldn't have to change anything again :D
I realize there is probably a way to create another DNS entry in domain controller and/or network router (instead of re-assigning IP to another server) but it wasn't done that way in this case (not my decision).
Are there some kind of recommended guidelines about how this should be done? What do you do in your environment?