I'm not sure how they tested your water, but I'm guessing to actually get a pH reading of 3 they used an actual pH test (like we all used to use in chem class). A pH of 3 is equivalent to the pH of citric acid. You don't get that acidic unless you are trying to. Urine has a pH of 6 which is why bad water maintenance leads to acidic water. But again, to get to 3 (if that is acurate), you must have some pretty significant source of something bad getting into your water. Either you are adding it without knowing it, or it is getting in their on its own. Post a list of everything (what brand and whatnot, be specific), and maybe someone will be able to see something in it. Like Roan said, fish are definitely going to be dead in water at that pH, so if you have living fish you are obviously getting a bad reading.
As I mentioned before, a normal aquarium test kit won't get anywhere near 3, so either your LFS is using an actual pH test or you have water in more like the 5 range, but the color is so deep, the person decided to estimate. I had this happen once at my local Petsmart. The test strips only went down to around 5.5, but it was such a deep color (I think blue), that the guy estimated it was about 5. By the by, I went to another LFS, and their drip tests said I had a pH of 7.