The standalone IE driver server is an experimental feature, and its
use is only supported by the .NET bindings as of 2.19. For now, your
existing code will continue to work without downloading the standalone
server executable, but you should expect that to change as other
language bindings are updated to take advantage of the standalone
server. The idea is to remove the native (C++) code from the
individual language bindings to normalize their use of the IE driver
native components. This is the same pattern used by the Chrome driver
as provided by the Chromium project team.
Each language has its own unique method of loading and calling code in
native dlls (Ctypes, JNA, P/Invoke, etc.), and not all of these native-
code integration methods support the same feature set. By breaking the
native code component into a separate executable, the language
bindings now can use the operating system's process management to
handle loading and unloading of the native code, which is a much more
consistent story. A nice side effect of this is that it should allow
users of all language bindings to run multiple instances of IE on the
same machine, subject to certain limitations. It also provides slight
advantages for testing 32-bit IE on a 64-bit system. Finally, it makes
it much easier to debug the internals of the IE driver, and that's the
case for people on the dev team as well as those who aren't.
tl;dr: The standalone IE driver server is an experimental feature, and
its use is only supported by the .NET bindings as of 2.19. There is no
need to download the separate executable unless you're interested in
playing with the new architecture under the .NET bindings.
--Jim