I've had the same issues. My probelm was, while understanding the how of OOP (i.e. the syntax is easy enough to learn from php.net and some of the basic OOP tutorials on the net), I couldn't really wrap my mind around the why . What is its usefulness and how to best apply it.
The biggest breakthrough for me was when I started learning about design patterns. This is the first site that helped me in my understanding:
http://www.phppatterns.com/index.php/article/archive/1/
He has some great articles that explain the usefullness of database accessors, factory classes, and the all important MVC pattern.
After that, I started reading more on n-tier applications and design patterns in general. Most of the stuff that's out there regarding design patterns is written for C++ and/or Java, but the concepts are all still the same. And now that the PHP syntax is resembling more and more an actual OO language with try/catch blocks, abstract class and method declarations, interfaces, and now, in the new version, a built in database abstraction layer (yes I realize it technically still isn't an OO language), its even easier to apply code written for Java to PHP.