I mean, it's not like there is a tuna vegetable or animal that it can be confused with.
I agree with you that it does seem redundant. However, this is common with other kinds of fish as well. Many people say "codfish" instead of "cod". Here is a recipe for "trout fish" croquets.
This convention has important meaning to a huge number of fish names: catfish, lionfish, swordfish, sunfish, cowfish, etc.
Also, it provides extra clarification for someone who wouldn't know what a "tuna" or a "cod" is otherwise. Anyone learning English as a second language will probably learn the meaning of "fish" early on, but may not know the more specific names.
Tuna or cod is not always fish, just as cheddar is not always cheese.
In both cases, it distinguishes the primary item from items merely flavored with the item.
Tuna fish is almost always the meat of the Tuna. Seldom is it the fish itself alive and/or whole; for those uses, "tuna" is used without "fish." Tuna salad is a mixture of tuna and mayonaise, and often some diced pickles and/or onions. Tuna sandwiches are sandwiches using tuna, and can be grilled or tuna salad. Tuna crackers are tuna flavored crackers. Tuna alone also can be a crude aphorism for female genitalia.
Cheddar is both the cheese, and the city where the recipe originates. Several cheeses are likewise named for their place of origin, most notably swiss, münster, and berkswell. But cheddar crackers are not made of cheddar, nor do they originate in cheddar, but are flavored with cheddar cheese. Cheddar spread is mostly cheddar cheese,
Cod can be the fish, or the meat of the fish; a cod dinner is seldom just codfish, but usually also chips (fries) and/or hushpuppies (corn fritters). The USS Cod is a submarine. Cod is also an extremely common acronym, most commonly for "Cash on Delivery." Codpiece is a male pubic covering; cod at one point was slang for the scrotum, so codfish was a way of ensuring one was talking about fish and not men's genitals.
Speaking of corn fritters, I've never met a fritter that wasn't made with cornmeal; I'm TOLD they exist... Likewise, most have also wheat flour and whole kernel corn. It's another case of a term that at first appears to be redundant, but really isn't.
As a fisherman I can tell you that:
"Tuna-fish" refers to the stuff in a can that is used to make tuna-fish salads or similar items. It is typically albacore.
"Tuna" refers to the the meat in steak form and served raw (as sushi/sashimi), grilled, or pan seared. It is typically yellow-fin or blue-fin.
Other fish such as catfish, swordfish, lionfish, etc. obviously need the fish qualifier as a cat, sword, and lion as stand alone words are completely different things. Also, while there is a tuna cactus (it is the fruit part) it most commonly referred to as the prickly pear cactus.
Below the first picture is "tuna-fish" and the second picture is "tuna". Tuna is perhaps the only fish where preparations are this vastly different.
Tuna is used to mean the fish, and the flesh of that fish (which is also called tuna fish).
Tuna is also the edible fruit of a cactus, or the name of that cactus.
I think of tuna fish as the chopped up stuff in a can.
Tuna, on the other hand, I think of as whole fish.
tuna fish n. the flesh of the tunny as food.
with its earliest citation given as
Wikipedia's article on tuna similarly glosses
When tuna is canned and packaged for sale, the product is sometimes called tuna fish.
noting that the US legally restricts “white meat tuna” to referencing albacore and not yellowfin, bluefin, &c.
It's also worth noting that Albert Halfhill & his followers completely altered the flavor of tuna while trying to keep his cannery in business through a collapse of the sardine fishery off California in 1903. He tried to reverse engineer some Italian tuna canning methods, removing the fish oil and replacing it with salad oil, but went on to treat the result with compressed steam. The white meat that process produced—the stuff Americans mean when they talk about “tuna fish” and a very different thing from tuna steak or sashimi—had such a chicken-like consistency that tuna exploded in popularity in the US and even a century later still famously got confused with chicken on national television.
I think the reason cheese gets appended to Cheddar much more often than to Double Gloucester, Brie, Camembert, Wensleydale etc. is because it's the most common type. The archetypal cheese, as cod is the archetypal fish. (and I've heard codfish, but not haddockfish or salmonfish). And in UK at least, tuna is the most common canned fish.
As an archetype, it often thus gets to represent not just it's own particular type, but all cheeses. After a restaurant meal I might ask for some Cheddar Cheese - I may not really care which cheese I get, but most likely if they have any, they'll have that. If they do have alternatives I'll doubtless be offered them, but I'd be irritated by a waiter who included cheesecake in the offerings after I'd asked for Cheddar Cheese.