Q:

What does 'ido-everywhere' actually do?

When reading about ido, we are instructed to add this to .emacs:
(ido-everywhere t)

The doc says that it Toggle use of Ido for all buffer/file reading.
What does it mean? Everything seems to work whether ido-everywhere is set or not.

A:

ido-everywhere function
(define-minor-mode ido-everywhere
  "Toggle use of Ido for all buffer/file reading.
With a prefix argument ARG, enable this feature if ARG is
positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil."
  :global t
  :group 'ido
  (remove-function read-file-name-function #'ido-read-file-name)
  (remove-function read-buffer-function #'ido-read-buffer)
  (when ido-everywhere
    (add-function :override read-file-name-function #'ido-read-file-name)
(add-function :override read-buffer-function #'ido-read-buffer)))

It overrides read-file-name-function (https://www.gnu.org/software/emacs/manual/html_node/elisp/Reading-File-Names.html), read-buffer-function (ftp://ftp.gnu.org/old-gnu/Manuals/elisp-manual-20-2.5/html_chapter/elisp_20.html).
You can see the effect when you try File->Open File from menu bar.
With ido-everywhere disabled, it opens graphical interface, but with ido-everywhere enabled it shows file list in mini buffer (ido style).
Effect can be seen where ever these overrided functions are used.

