I don't know anything about this battle but from the name I suspect it took place on a beach. Treath is Cornish for beach and traeth in Welsh, so presumably they derive from the same source.
As for the cat part, cad is Welsh for battle and the letter D can mutate to a T. Thus ca(d)treath = battle beach.
Hope this confuses the situation even more.
Something is not right. This message is just to keep things from messing up down the road