I really do not care why is something in fashion / not. There are many software paradigms and one simply has to know which one is the best for particular situation. Trying to bring everything down to a "there can be only one" level is not very wise. Unfortunately for some reasons many programmers get really religious about language / framework / paradigm / whatever.
Also writing confusing code is incredibly easy in any language / paradigm. One just has to be inexperienced thinker.
Also writing confusing code is incredibly easy in any language / paradigm. One just has to be inexperienced thinker.