Really the difference is in how certain things are enforced. With traditional programming in languages like APL (A Programming Language) A, B, and C the developer as well as other developers who may use your code were counted on to follow certain conventions, avoiding the alteration of certain data types, not using GOTO the use of constants to eliminate any "magic numbers". Basically what Object Orientation does is take these conventions and formalizes them, allowing programmers to privatize certain data, only allow data to be accessed in a certain way.
This is probably too big a question for here. But there is a quote by Bjarne Stroustrup (the man who invented C++ (an object oriented version of C)) that goes like this. "With C you could shoot yourself in the foot, C++ makes that a lot more difficult, but when you do, it blows your whole leg off!" You could do worse than look at his homepage www2.research.att.com/~bs/homepage.html
Object-oriented system development, as opposed to the traditional technique of system development, is known to improve productivity and reduce system maintenance costs at the same time. Compared to traditional approaches, an object oriented design facilitates in modeling a business problem and making a model comprehensible to a computer. Some organizations, however, find it difficult to jump over to the object-oriented approach. This is usually due to the high investment costs involved.