Are there any reasons why a table wouldn't show in sys.dba_tables? (Oracle)
You are right. XDB$RESOURCE is not in DBA_TABLES. It is in DBA_OBJECT_TABLES, because it is an object table. 

Object tables are listed in {DBA,ALL,USER}_OBJECT_TABLES. All regular (non-object) tables are in {DBA,ALL,USER}_TABLES.