At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
It depends by what terms you mean by better. I know that programmers prefer OOP (object oriented programming) because it abstracts code away from the machine level to a conceptual realm. This means that your code closely relates with how you think instead of how the machine thinks. This way your code is more understandable and easier to deal with. However, this also means that the compiler has more bookkeeping to do. If you want a detailed comparison of programming languages, I recommend "Programming Language Pragmatics" by M. Scott http://www.cs.rochester.edu/~scott/pragmatics/
It's not necessarily. It has it's strengths and weaknesses, like most things in life, but it is the most wide spread approach once you get to a higher level of abstraction. As hardware has improved over the years, there's less need to focus on making every program work as efficiently as it might. It just doesn't matter, because it runs more than fast enough already. There are many exceptions, but a lot of focus has been placed on empowering programmers by making their lives easier at the expense of having things run a bit slower. When you stop worrying so much about how the computer does stuff and look instead at how people think about problems, you ask; how do people think about things? And the answer's in the question; they think about Things. Everything is a thing, more or less. You can't call a revolutionary new idea, the Thing Oriented Paradigm, so the more proper 'Object' was chosen. That's my one paragraph, made up, version of history, but it'll do. The point is that people think about stuff as being made up of things, or objects. A bank account is an object, a car is an object, a person's name is a thing, just about close enough, we'll call it an object and move on. That seems to be the general approach. Once you start writing code based around objects, it becomes easier to think about what you're doing. You can have a red_space_invader object and a score object and a screen object and then you have them interact in a pretty natural way. You move the _red_space_invader object around on the 'surface' of the screen object. It's really just a very popular way of almost staying sane as program complexity grows. It's all about abstraction.
This video is very entertaining and will give you a good insight into the object oriented paradigm.