According to the documentation string, make-frame-visible will "Make
the frame FRAME visible (assuming it is an X window)."
If the frame is iconized, then make-frame-visible restores it, so it's
visible. But if the frame is just covered by other windows,
make-frame-visible seems to do nothing. I'm testing this using
emacsclient --eval '(make-frame-visible)'
in an XFCE4 session (using the xfwm4 window manager).
Using 'raise-frame' on the other hand makes the frame visible whether
it's iconized or just covered by other windows.