It surprises me how often I encounter people asking me this online.
Here is the the basic breakdown. Note, all ships can damage any other ship, but some are very effective at killing one type and less effective at another. Also, some ships are effective per unit cost, not 1:1.... (ie. Cobalts are great at killing carriers, but you should probably have 3 Cobalts for every Carrier, because carriers are big and expensive).
Also note each race's ship of a particular class has its own strategies. LRM's are cheap and easy to mass, Illuminators have side beams and are great at making strafing runs, etc. A skilled player micro-managing to the strength of his ships can sometimes turn a fight around that he maybe should have been losing. This list is just to give an indicator what ship is more effective against what. Hard Counter means it should wipe the floor with the target, given that there are relatively equal supply values in the opposing fleets.
Kills Long Range Frigates [SOFT COUNTER]
Basic Assault Frigates - Disciple, Cobalt, Skirmisher
Kills Support Cruisers, Carriers, Flak
Long Range Frigates - Assailants, Illuminators, Javelis LRM
Kills Basic Assault Frigates [HARD COUNTER]
Kills Bombers and Long Range Frigates [Both HARD COUNTERS]
Bomber Strike Craft
Kills Heavy Cruisers, Support Cruisers, Carriers, Flak, Structures [All HARD COUNTERS]
Flak (Garda Flak, Sentinel, Defense Vessel)
Kills Fighters and is somewhat effective against Bombers and Long Range Frigates
Heavy Cruisers (Enforcer, Kodiak, Crusader)
Kills Long Range Frigates [HARD COUNTER], but can kill most anything effectively