In general it is probably safe to eat a fish that you buy a local grocery store because they often get them from places that are generally very safe but anywhere else I would not eat a fish until I knew what river it came out of there are some very polluted and dangerous rivers out there and I wouldn't want to eat a fish that came from one of them.
It's always a good idea to know the origin of one's food. Some types of fish are not sustainably caught. Some types are more likely than others to contain high levels of mercury. Due to the oil spill in the Gulf of Mexico, there has been ecological damage that can affect bigger predators in the food chain, and ultimately one's dinner.
It is a wise thing to avoid eating fish altogether because of mercury levels found in the animals and meat nowadays. It's better for people to get much of their nutrition from vegetable sources and then supplement their diet with ultra-purified fish oil for omega-3 fatty acids. Purified fish oil has the mercury removed completely.
In this day and age it is very wise to not eat fish unless you know where it came from. Many waters are so polluted with mercury that the fish are dangerous to eat. It is best to find out where the fish came from and how much mercury is in that area.
I do not believe it is wise to avoid eating fish until you know where it came from. I believe this is a silly proposition because the information is either going to be really difficult to obtain or really easy. For instance, when you buy fish at a grocery store, it's going to be labeled. When you're dining out it's unlikely your waitress will have you answer. While it's probably that the kitchen knows, it doesn't mean the information is going to be passed along to you. If you're afraid of the source, or afraid of certain sources, then I suppose you'd be better off to order something that isn't fish.