"Er hat Erfolg" literally means "he has success" (with a particular task).
To say that someone is "successful" as an attribute, one would say "er ist erfolgreich" (literally, he is "succsss rich.")
The phrase "Die Firma hatte Keinen Erfolg" is a polite way of using the first construction to mean the second. If the company doesn't succeed in any given "task," that is, "it can't do anything right," it's not going to be "successful" as the term is generally understood.
Someone or something that is unsuccessful can be also be described as "Erfolglos," (literally "successless"), but that is not as polite.