Covering weaknesses may or may not take priority depending on what role this Pokemon has to play. Usually though, neutral / super-effective coverage is much more important, in comparison with weakness coverage. Meaning you want to many Pokemon at least neutrally over only weaknesses.
This can be rephrased into saying: "covering the Pokemon that resist your STABs over those that hit you hard".
Let's take Tyranitar's case as an example here. It's primary function in life is to set up Sandstorm, and the other functions are to tearing holes in the opponent's team. Over here, Tyranitar wants to hit as hard as possible, and the best way to do it is to use STAB moves i.e Stone Edge/Rock Slide and Crunch. And since neutral coverage is more important, Earthquake is the best next option. Not something like, say Aerial Ace which doesn't give nearly as much coverage.
What happens is that if you go about covering your weaknesses, you'll often find yourself abandoning STABs and coverage options. It's not usually advisable, unless these weakness-covering options also happen to give good coverage. For eg.- Tyranitar may also run a Fire type move, not because it's weak to Grass and Steel types, but rather because it hits them a lot harder in general (super-effective coverage).
Hope I helped!