What is wrong with ZFC?
As many of the commenters have said, nothing is "wrong" with ZFC at a practical level; it's just that other theories have certain advantages. I'm not sure what you're referring to by "the strong desire to find something other than ZFC to use" — for the most part I've only seen people pointing out advantages of particular other theories rather than complaining that ZFC is broken on its own.
The first two disadvantages you point out are, as you say, not of practical importance for using ZFC as a foundation for mathematics. But they are not worthless observations either. If nothing else, they are important philosophical observations that there are ways in which ZFC doesn't match the everyday practice of mathematicians, so it ought to be of philosophical interest that there are other foundations that do match it better.
There is also a pedagogical point to make: the working mathematician may have no trouble ignoring an axiom, but a student just learning mathematics may get the wrong impression about how sets are actually used in mathematics from a ZFC-oriented introduction. (Indeed, pedagogical considerations were what first let Lawvere to invent ETCS.)
And there is also a question of extensibility: as we try to interpret a foundational theory in "nonstandard" models (I put the word in quotes because it has an undesired negative connotation), it is significantly easier if we use a foundational theory that looks more like the models that we are interested in as they arise naturally — namely, as categories, not as cumulative hierarchies. One can, with some effort, build a cumulative hierarchy from a category, but it doesn't always capture exactly what one wants, and why force oneself to go through the pain when there are other perfectly good foundational theories that we could use instead of ZFC?
As for category theory, there are at least two reasons a category theorist might be dissatisfied with set theory. One is the awkward treatment of universes used to deal with "large categories", but the alternative foundations that you mentioned (ETCS, HoTT) don't really do anything to solve that problem. (There are other alternative foundations, such as those proposed by Feferman, which do attempt to address that question, but I don't know as much about them.)
Another issue with set theory for category theory is that any two objects in set theory can be equal, whereas in category theory we generally only want to consider objects up to isomorphism, or categories up to equivalence, and so on into higher dimensions. You might think this is just like the question of nonsense statements $3\in \pi$, since you can just ignore the notion of equality and use isomorphism. However, technically you then incur an obligation to prove that all theorems and constructions respect isomorphism (or equivalence). Nobody actually does this in everyday mathematics, it being regarded as obvious; but when you start formalizing mathematics in a computer, it becomes necessary and tedious. ETCS and HoTT do have some advantages here: in ETCS formulated appropriately, one can prove a metatheorem that everything transports across isomorphism; whereas in HoTT this transportability is part of the basic theory (the univalence axiom).
To be fair, I should note that ZFC itself has some advantages over other foundational theories. In particular, it is very well-adapted for what the mathematicians who call themselves "set theorists" use it for, namely the study of well-founded relations. Most of the results of modern set theory could be formulated and proven in alternative foundations, but they often become significantly more awkward.