There has never been any doubt that it's better to eat fish than to take supplements. The capsules contain only the two main omega-3 polyunsaturated fats in fish—eicosapentenoic acid (EPA) and docosahexenoic acid (DHA). But fish also offers vitamins, minerals, other fats and other substances that may work with the omega-3s to protect the heart and overall health.
In addition, fish, which is rich in protein and low in saturated fat, can replace less healthful foods such as red meat—not a small matter. The benefits of fish far outweigh potential risks from contaminants (such as mercury and PCBs) that may be present, especially if you eat mostly smaller fish (lower on the food chain) and vary your intake. The Seafood Watch Program from the Monterey Bay Aquarium can help you choose wisely.
What about omega-3s from plants? These are different from those in fish. A few plant foods—notably flaxseeds, walnuts and canola oil—contain an omega-3 fat called alpha-linolenic acid. While fish can convert alpha-linolenic acid from algae and other sea plants into EPA and DHA, humans can do so only to a very limited degree. Alpha-linolenic acid may have its own health benefits, but it can't replace EPA and DHA from fish.