setBackgroundImage
устанавливает фоновое изображение кнопки.Обычно вы используете это в сочетании с кнопкой типа «Пользовательский», чтобы использовать фоновое изображение как красивую форму и фон для кнопки (скажем, изображение, представляющее прямоугольник с закругленными углами и заполненный красивым градиентом)
setImage
добавляет изображение / значок рядом с заголовком кнопки (все из которых, изображение и заголовок, накладываются поверх фонового изображения, поэтому, в конце концов, это называется «фон»).Если для кнопки также назначить заголовок, изображение будет отображаться рядом с заголовком, и его положение будет зависеть от длины заголовка (а также от свойств titleContentInsets / imageContentInsets, чтобы отрегулировать эту позицию)
Просто попробуйтеэто в Интерфейсном Разработчике (установите изображение для обоих, поиграйтесь, устанавливая название и т.д.), вы поймете это легче.