In short, these two are very similar. The differences comes down to:
Semantics: what to call your offerings
The images the customers see when registering
Filtering what customers see by class type. (Ie. On this customer facing schedule page, should I just show classes? Or just workshops? Or both?)
Examples of each are shown below.
Here are some additional subtle differences to consider:
Workshops require a banner image to be uploaded; Classes do not
On the customer facing schedule view, the workshop displays the banner image; The class displays the teacher's photo (see below)
Maybe you prefer to designate certain classes as workshops to help differentiate what comes along with signing up.
With either option, you'll have the ability to describe to customers what comes along with the purchase and you'll have all the same scheduling functionality, pricing, and payment options.
How they appear to the customer
Below, we have a customer facing schedule page where customers can view our classes and workshops.
Notice just below the word 'Schedule' how there are two filter options. The default view is for classes but customers can also view workshops by clicking over to the workshop view. The class displays the teacher's photo. The workshop displays the banner image.
How it appears in your internal host dashboard
When viewing your internal schedule page, you'll find filters to help you find what you're looking for more easily. Below, we're currently on the 'All' filter but we also have options to view either only classes or only workshops.
On the class / workshop details page you'll also see these tags for extra clarity.
On the plugin page, the page used to display your offerings on your website, you'll find filters for showing only classes or only workshops or both.
Here's a class only view.
And a workshop only view.