In particular: what is the difference between an ITable and an IObjectClass? As far as I understand the latter may be asked to get all its related classes as well. Are there any more differences that affect when to use which? Furthermore every table within an DBMS is an ITable, whereas only those registered to the Geodatabase are also ObjectClasses.
An ITable can be an IObjectClass but not necessarily the other way around... An ITable is (or can be) any tabular data: CSV, Excel, Text, StandaloneTable etc. but an ObjectClass can be any data source (in a GeoDatabase): Raster Band, Topology, Feature Class etc. not just tables.
With an ITable you can declare a cursor (search, update, insert) - not with an IObjectClass.
From an IObjectClass you can find the relationship classes that it participates in - not with an ITable.
It just depends on what you are trying to do with the table as to which one you would use.