Why does processed meat contain preservatives, while canned fish needs not?
These are two different ways to preserve food.

The canned salmon was boiled and then sealed into a can while it was still boiling sealed into a can and boiled under a specified combination of time and temperature that has been empirically proven to kill enough bacteria. All the bacteria in the can are dead, and no more can get in, so it's sterile and won't rot until it's opened.

The ham is preserved differently: instead of being sterile, it has enough preservatives that whatever bacteria get in can't grow, or at least grow very slowly.

The difference is between canning and curing, not between fish and meat. It's also possible to can meat (in which case it doesn't need preservatives) and cure fish (for example, smoked salmon).