All operating systems out there -- except, perhaps, Windows -- already include libz. However, when building node with the --shared-zlib flag, the bundled version of the library is compiled anyway -- even if the node-executable duly uses the OS-provded library (/lib/libz.so.6 in my case).
This is both wasteful and dangerous, because some day it may happen, that a bundled header-file will be #include-ed, that will somehow disagree with the implementation provided by the OS. It should be possible to build node with deps/zlib completely absent -- for safety.
Other bundled libraries (cares, uv) do not seem to be mishandled this way -- only zlib.