All cases have a type, which indicates what the case is about. Some cases have subtypes, which are set up in the case configuration and help refine cases.
Case type is a broad term that categorises a case. You could create a case type for complaints, one for fly-tipping, another for FOI requests - whatever it is you need to handle and manage.
Normally a single form will be used to raise cases of a particular type. The form includes the ID of the type of case it should create. Cases types are defined by a set of rules (eg the users that work on it, SLAs, notifications, tasks etc) created using the case configuration manager.
Subtypes let you refine your case types. You might have a high level case type for complaints, then create subtypes for the nature of the complaint or the thing being complained about.
It's the case type that controls who works on the case and the rules that govern it. Subtypes are used in reporting and dashboards, and can also be added as a filter to the case search.
The subtypes that can be set for a case are created in the Subtypes configuration section. A case manager can change the subtype from the Details, Status, Summary and Target SLAs, and you can set the subtype on the form used to raise the case by including a field called CASESUBTYPE.