Hydrogen peroxide is a good disinfectant because it is quite toxic to cells. Sure, it decomposes into water and oxygen, both of which aren't toxic in their own right, but the important thing is that an intermediate hydroxyl radical is formed. Free radicals, as you are most likely aware, can cause a lot of damage to cells. They can cut or cause mutations in DNA and disrupt cellular processes.

generation of free radicals:

H2O2 -> .OH + .OH

Free radicals will kill your cells just as easily as they will kill bacteria. The hope is that you have a lot more cells than bacteria and the damage to you will be minimal.

Free radicals are also generated during regular cellular processes such as respiration. As a result, nature has evolved peroxidases which can neutralize free radicals before they cause cell damage. The one that interacts with hydrogen peroxide is catalase. The reason hydrogen peroxide fizzes more vigorously on a cut than it does in the bottle is the catalase reacts with the peroxide and releases oxygen. You can observe the same phenomenon by pouring hydrogen peroxide on a piece of meat, especially liver.