No programming paradigm can aspire to completeness.
All four styles: procedural, OO , declarative and functional should have their place.
Bad feelings towards one of them is perhaps not the best starting point, but often OO evangelists say that OO is not a silver bullet and then continue forgetting this ( a style figure which may be compared to
).
I don't think that good design should model the world, it needs to serve other purposes, including the ones you mention. The design patterns are a good example.
Tabari