To answer your question "what is a class" I will answer the question"What is an object".
To save time 'wording' this I will quote from a book:
"An object is an enclosed bundle of variables and functions forged from a special template called a class. Objects hide a lot of their inner workings away from the code that uses them providing an easy interface through which you can send them orders and they can return information. These interfaces are special functions called methods. All the methods of an object have access to special variables called properties".
What are they good for?
Normally you dont NEED to use objects you can get by using functions but objects are good for organising your code and making it reusable. Using objects can make your scripts execution a bit slower..thats the tradeoff for organisation and reusability. The new version of PHP, PHP5 has greater support for object orientated programming.