I've read that in the Punic/Carthagenian/Phoenician tradition, name formulae only included filiation, i.e. Abdmelqart son of Adnibal. But why is then Hannibal known as Hannibal Barca and his family known as the Barcid dynasty?

by mythoplokos
Docimus

Hamilcar Barca was unique among the Carthaginians in having a cognomen. Barca is often said to have meant "thunderbolt" in the Punic language although this very informative post on Punic naming conventions suggests it could mean "blessed." What seems certain is that Hamilcar was atypical in having a cognomen but it's not clear what he did to deserve it. Richard A. Gabriel in (forgive me) a work of popular history (Hannibal: The Military Biography of Rome's Greatest Enemy) theorizes that he got the name "thunderbolt" because of his brilliant hit-and-run campaigns in the First Punic War. Giving someone the nickname "thunderbolt" for unexpected actions was not unheard of in antiquity so this isn't beyond plausibility. Still, one has to wonder why, in a civilization as proud and storied as Carthage, only Hamilcar received a laudatory nickname. Whether or not the name Barca was hereditary or applied to Hamilcar alone is uncertain. History has put the whole family under the Barcid dynastic umbrella but it's not clear if this reflects the reality of just what the family was known as and whether Hannibal really was known as Hannibal Barca. Dexter Hoyos in Hannibal's Dynasty refers to the term "Barcid" as a "convenient family sobriquet," suggesting that it's more of a historical invention.

The long and the short of it is that Hamilcar somehow gained the unique distinction of a cognomen which may or may not have been passed down to his children. Barca may mean "thunderbolt" or "blessed" and the term "Barcid" may well just be a convenient historical way of referring to the family.