There are a few things to do to when trying to diagnose a misfire. All vehicles are different, but there are a few places to start.
1)If possible use an OBDII scanner on newer vehicles. The misfire counter function can help you determine which cylinder is behaving badly. Clearly this is not an option for all people and vehicles though.
Note)Even without engine scanners you can identify which cylinder is causing a dead misfire. Carefully disconnect one spark plug at a time. If the cylinder you are disconnecting is operating properly you will hear a change in RPM. If the cylinder you disabled is the bad cylinder you will see no change in engine behavior.
2)Check your ignition system. There are several steps to this.
A)Remove spark plugs and check to see if the electrodes look worn down or contaminated. Check your spark plug gap with a plug gapper to see if the electrode has worn down.
B)Use a multimeter to check your spark plug wire resistance. They should read roughly between 2,000 - 12,000 Ohms. What you are really looking for is an open circuit in one of the wires. Bend the wires around and see if you lose continuity.
C)Check cap and Rotor. Look for carbon tracking or extremely worn down rotor.
D)On newer vehicles with distributeless ignition systems coils are prone to failure. If you know which cylinder is misfiring try swapping that cylinder's ignition coil with another cylinder and see if the misfire moves with it.
3)If you know your ignition system is operating properly you may want to check compression. You may already have the spark plugs out from your ignition check so it only takes a minute to check engine compression.
4)Fuel injection Service - The motorvac service works miracles. It is available at most repair facillities. Adding a can of fuel injector cleaner to your fuel tank is not ecnough to clean out a severely plugged injector. The motorvac solvent is much more potent and should only be used with a fuel injection cleaning machine. It is a good place to check with a hard to find misfire.
5)Vacuum leaks - A vacuum leak will cause a misfire. If the leak is near a certain cylinder that cylinder will misfire. You can try to find a leak by spraying down the engine carefully with carb cleaner. If you spray the location of the leak the RPMs will rise. You can also inject the intake manifold with smoke from a smoke machine and look to see if it leaks out anywhere it is not supposed to.