Probably one of the most difficult things to teach someone is experience. Knowing how to approach a problem, and what tools to use to fix it is something that is best learned by doing. There are, however, many concepts and ideas to keep in mind when tackling a dilemma. The following procedures can be used on many problems ranging from "I can't log in" to "hey, where did the Internet go!"
If you make quick judgments, you may find yourself looking in the wrong place. While you are trying to find an older version of the passwd file, the user may simply need the Caps Lock key depressed. What you should be doing instead is getting more information about the problem. Is it just a user error? Is the Caps Lock key stuck? Did someone break in and post your passwd file to alt.2600?
Many times, you may want to be able to reproduce the error yourself, without the user in question. This way you can have more control over what is going on, and the user may be able to carry on about his business while you fix the problem. This will also allow you to bring the problem to others who may be able to fix it.
Next try to log in to the same machines with a different user (probably yourself, or some other user you are pretty sure should work). If you can log in, chances are there is something specific to the user. You now know that it is not a problem with the operating system or the specific machines.
Finally, find out some history. Has the user ever logged in before? If so, when was the last successful login, and on what machine? This is especially helpful if you know of any changes that have happened since the last successful login. Perhaps a disk server has been moved, or a passwd server changed. From here, you can begin the tedious task of finding out exactly what is wrong, but you will have greatly narrowed down the scope of possible causes.
This is usually useful in automated processes, such as a cron job that isn't working. The constructionists would first test if cron is working by running a very simple cron job (perhaps one that just touches a file). The destructionist would begin simplifying the problem by removing more complicated parts of the script supposedly run by cron.
Neither technique is necessarily better then the other. Sometimes one is more appropriate then the other in certain situations, but mostly it usually depends on the method that you prefer. It's similar to bottom-up and top-down programming.
Sometimes, these types of problems are related to hardware. The CPU fan is failing, a SCSI-bus is not terminated properly, or the network is down.