Answer 1: when it's cheaper.
Answer 2: when traditional gear gets in the way.
My guess is it's mostly 1 and rarely 2 for most organizations. Might be a combination of both.
I'd argue that traditional gear gets in the way a lot more than most people know / would think, but because you can pull any John Q Public off the street to support a Cisco or Juniper environment, "no one was ever fired for buying IBM" applies. Even investments in the common non-core networking gear is usually limited to just a handful of vendors so diversity isn't really a problem in most cases.