I agree. A wise manager once said: "I don't want Rock Stars. I want a team that Rocks". So yes, we have a team of very mixed skills.
But I agree most with this idea that you want to hire "the best", or "highly talented". The thing is, no one started out as a great employee, with bags of talent. The rare few that got very good, very fast, were snapped up by the worlds of finance, corporations, or are already Director of Engineering in a start up. (Hint: you can't afford them unless you offer them a painful amount of equity).
Everyone else, early in their career, needs training, mentoring, coaching, regular feedback cycles, a manager that is willing to have the open and frank conversations about what they should and shouldn't focus on to achieve more results. You have to grow talent.
So "good people that get stuff done"... it's a classic Joel on Software type statement. How do you find them? I meet a lot of people who never "get stuff done"... but why is that? Is it because they are lazy? Bored? Incompetant? OK, you don't want these guys. But what about: they are perfectionists and nothing is ever quite right to be called finished? Or do they always find themselves stuck trying to micro-optimize? Or are they always "late" because they got into the design, and realised the use case was wrong, so they fixed the use-case first? This second class have a lot of potential, with little "extra" effort.