Firstly, it's pretty difficult to summarise something as complicated as OO in a few sentences. I would recommend that you find yourself some good books on the topic, and read them, while practicing what they preach.
That said, a short explanation would be: object orientation is simply one particular way to structure code. You are trying to create pieces of code which are loosely coupled and cohesive. Loosely coupled meaning that they don't unnecessarily rely on each other, and cohesive meaning that things that should be close together, are. Encapsulation is the principle of making a class appear as simple as possible to the outside world, while containing whatever complexity is necessary, inside itself. You are also trying to reduce repetition and duplication of code and logic (DRY, etc).
These are the general principles, and you should spend a lot of time trying to understand why these are good principles, and what they mean. They tend to be fairly universal, so you will be able to apply it outside of OO. Once you have these "basics" (and they are not simple) down, you will understand the whys, and can make your own judgement calls on design. Unfortunately, I can't think of any way to go into any more detail without writing pages and pages, so I'll leave it at that. Last tips: try to make sure you understand why you are doing something; but be patient - I've almost never seen anyone who was more than barely competent in OO with less than 5 years of experience.