Generally speaking ... should join tables (i.e. associative tables) be created as Index Organized Tables (Oracle) , Clustered Indexes (SQL Server) .... or plain old heap tables (with separate indexes on the 2 columns).
The way I see if, the advantages are:
Speed improvement. You're avoiding a heap table look up.
Space Improvement. You're eliminating the heap table altogether, so you're probably saving ~30% space.
The disadvantages:
Index Skip Scan (only applies to Oracle) .. will be faster then a Full Table Scan, but slower then an Index Scan. So searches on the second column of the compound key will be slightly slower (Oracle), much slower (MSSQL).
A Full Index Scan will be slower then a Full Table Scan - so if most of the time the Cost Based Optimizer is doing Hash Joins (which don't take advantage of Indexes) ... you could expect worse performance. (Assuming that the RDBMS doesn't first filter the tables).
Which makes me question whether any type of indexes are really required for Join Tables, if you're predominately going to be doing Hash Joins.