Mat,
Categories are abstract, and are only used for organisation and inheritance - a group is a complex object made up of other objects, which may be simple or complex. An item is a simple object. So, basically, groups and items represent physical data, whereas categories do not. A category might be 'record', which loosely describes many different groups in the data, but does not occur physically itself - ie you cannot point to 'record' in this case, but you can point to instances of record, such as Header Record, which is a group, and also an incidence of category record.
Hope this helps....
EDI bod