set-background-color is an interactive compiled Lisp function in `frame.el'.
Set the background color of the selected frame to COLOR-NAME. When called interactively, prompt for the name of the color to use. To get the frame's current background color, use `frame-parameters'.
I'm going to guess that you're starting Emacs with
emacs --daemon, in which case an init file containing
(set-background-color "honeydew") is setting the background of a frame you'll never see.
And even if that's not the case, your setting wouldn't be repeated in other frames (e.g. C-x52), so you want to take care of that issue regardless.
(defun my-set-background-color (&optional frame)
"Set custom background color."
(with-selected-frame (or frame (selected-frame))
;; Run later, for client frames...
(add-hook 'after-make-frame-functions 'my-set-background-color)
;; ...and now, for the initial frame.
honeydew2 here because I honestly can't tell the difference between
honeydew and white on my monitor. (That may or may not be a contributing factor for you too?)
Edit: All of that said... an initial terminal frame may still be a problem, and you can both deal with that and replace everything I've written above with just:
(add-to-list 'default-frame-alist '(background-color . "honeydew2"))