Zapping the PRAM is the first step in troubleshooting; it resets all hardware configurations to default in order to ease the load of the set of system extensions during the boot process. Why is this so useful? If you load a new application or hardware driver into the OS, a set of preferences and possibly extensions are added to the System folder; if there is a resource conflict, similar to a PC's interrupt request conflict, while loading the system's OS, the boot process can/will freeze. Resetting parameters which have changed since the OS was loaded can help to resolve this conflict. In fact, I like to attempt to load the OS with extensions disabled(Mac Safe Mode?) to see if there is an extension conflict(if the OS loads with extensions disabled, you have your culprit😉), view the Extensions folder to attempt to locate the offending extension, terminate it, and attempt a reboot. If the OS now loads successfully with extensions re-enabled, you've resolved the issue. If not, zapping the PRAM is a nice basic resolution; I like to see if I can find the conflicting extension first, though, contrary to what Apple recommends😛.