While I generally agree with the other answers, catching fish means that the fishing is successful. It is possible to fish all day but not manage to catch anything. So "how long have you been fishing" = how long have you been trying, successfully or unsuccessfully to catch fish, "how long have you been catching fish" = how long have you successfully been catching fish?