I would say because OOP makes more sense to a larger group of programmers, since even the underlying machine operates "imperatively" and it's easy to see the benefits of modelling your problem domain in terms of objects similar to the ones in the real world that affect that domain, where functional programming offers benefits that are more "academical" and less easily observable by your average programmer, while the context switch required, in terms of thinking about the problem, is quite severe. (Imagine telling Jim that he cannot mutate the program state, not even talking about monads.)
Another factor is that while Lisp was quite heavily pushed in the hacker community, there was never a company quite the size and marketing power of Sun, as there was for OO.
Most importantly, C was not functional and C touched everything. The extension to OO in the form of C++ was quite straightforward and preserved the performance characteristics of C, whereas Haskell's performance is quite unpredictable to this day.