Most of the developers that I have met really sucked. While I have met some stunning rockstars who could code up solutions that were magical on so many levels the bulk of the "rockstars" were simply blowhards that were probably more destructive than the worst boring developers. These were people who would literally dig into the kernal of Linux instead of writing a simple python script. But the sure sign that a "rockstar" is in fact just a blowhard is when they become religious zelots for one technology or another. They will make statements like "Procedural coding is so 20th century" or "You must recode your entire well oiled system using language X in order to add that one feature."
These "rockstars" usually come in and create massive amounts of work. Destroy pretty much everything and then leave before the cleanup is barely started.
Whereas the true rockstars will simply come in, quietly code for a short while, and solutions are born. Often these are things that other people can then work with making them better as well. If there is horrible work that does have to be done then again the rockstar will quietly nod, find the few in-house good programmers, spend a weekend or two, and then present a working robust replacement for the terrible system. Not something that is "almost done" (as in half baked) but a complete solution with in-house talent that can work with it.
If anything the surest sign of a rockstar is that there will be little or no squabbling. If there is any squabbling with the in-house developers it will be with the resident blowhard who will be heard saying, "That system won't work, we need to stay the course and use the technology that I have 8 certifications in."