Why would anyone ever disable `index_condition_pushdown` (ICP)?
There are two related things...

Covering index:  When the index is "covering" because all columns mentioned anywhere in the SELECT are contained in the index, the query has always been performed via "index-only scan".  MySQL's EXPLAIN indicates it with

   Using index


Think of it as treating the Index BTree as a 'table'.

Index Condition Pushdown:  The relatively new (5.6) 'ICP' applies to other situations -- when the part of the index being used for filtering is not sufficient.

Version 4.0 split the "Handler" from the "Storage Engines".  The "Handler" does parsing, optimization, etc, etc.  The "Engine" talks to the disk.  This implies that rows are often fetched from disk by the engine, then handed off to the handler for more processing.  In some situations, this handoff can be avoided -- by pushing more processing down from the handler into the engine.  ICP is such a case.  In the past, stuff that was not in the index, but tested in the WHERE, was handled only by the Handler.  Now, the engine can handle it.  EXPLAIN indicates it via

   Using index condition


With ICP, InnoDB tries to read the row and make the rest of the WHERE tests.  This (usually) avoids handing off rows that are to be filtered out.

I have not heard of a case to turn ICP off.  I suspect most 'modes' exist "just in case" the Optimizer has a surprise bug for which the best solution is to turn off a feature.

Your query

Are there only 3 columns in the table?  If so, then a "table scan" is identical to an "index scan"; either would suffice.  Given a choice, the optimizer would pick an index starting with zipcode.  But it would not use the other 2 columns in the index for filtering -- because of the leading wildcard.

If there are only 3 columns in the table then a 3-column index would be "covering".

If there are more then 3 columns in the table, ICP lets all the filtering is done in the storage engine.  Without ICP, only the filtering by zipcode is done in the storage engine; the rest would be handed off to the Handler.