There's multiple reasons companies don't want to publish salaries, but they almost all boil down to wanting to pay people as little as they can get away with