The truth is, you can probably get by without ever using a class, however, in some situations, it may be easier to use a class -- in addition, it jacks up the professionalism of your code quite a bit by modularizing your code, extending it's reusability.
In the same way that you break repetitive code down into methods or functions, sometimes you're dealing extensively with a single object throughout the course of a page.
It's very hard to explain without posting a full fledged class, but throughout the execution of a single page, your class object can store, reference, and manipulate the data -- for instance, if you have a class file for dealing with MySQL that handles connecting, queries, and fetching results, all of the information can be stored in the class and retreived using syntax like:
$MySQL->connect();
$result = $MySQL->query("SELECT * FROM tblData");
while( $row = $MySQL->fetchRow($result) )
{
echo key($row) . " => " . current($row) . "<br />";
}
In short, it's a method of organizing data that are similar in functionality and relationship.