If there is a significant gap in the talent projection of two players then yes, you pick the best one but if there isn't a considerable gap you take the one that fits what your future core needs most. If there isn't a huge difference between needs (like us at PG and PF) then you take the big.
I think it was Chad Ford who had an excellent article about this on ESPN, although it requires Insider. However, it articulates how I feel drafting should be done and how I do my fantasy drafts pretty well.
http://insider.espn.go.com/nba/draft2008/insider/columns/story?columnist=ford_chad&page=Tiers-080619
The premise is basically rank players into tiers. When it is your turn to draft, you take the biggest need within the current tier. However, you never reach to a lower tier simply for need. So if the Kings have a SG and PF in the same tier (even if the SG is slightly higher), than taking the C makes sense. However, if the SG is the only player left in say Tier 2, but there is a Tier 3 PG available, then you still take the SG.
I will post a blip from the article below that explains it better. However, if I am violating any rules, I understand if a Moderator has to erase this.
"
The rules are pretty simple. You always draft the highest-ranked player in a given tier. So, for example, if the Warriors are drafting at No. 14 (Tier 4 territory) and Joe Alexander (a Tier 3 player) is on the board, they take him regardless of position. You never take a player from a lower tier if one from a higher tier is available. So if the Warriors have Darrell Arthur ranked No. 1 in Tier 4, they still take Alexander, even though power forward is a more pressing need.
WARRIORS
Team needs
1. PF
2. PG
3. SG
Tier 3
7. Joe Alexander
8. Brook Lopez
Tier 4
1. Darrell Arthur
2. Brandon Rush
3. Kosta Koufos This system protects teams from overreaching based on team need. The Warriors won't pass on a clearly superior player like Alexander to fill a need with Arthur. However, the system also protects teams from passing on a player who fits a need just because he is ranked one or two spots lower overall.
Let me give you an example from the worst-drafting team over the past few years, the Hawks. Former Hawks GM Billy Knight said in the past that he takes the best player on the board, regardless of team need. He proved that in the past few years by taking Marvin Williams ahead of Chris Paul and Deron Williams in 2005, and taking Shelden Williams ahead of a point guard like Rajon Rondo in 2006.
A source formerly with Atlanta's front office told me the Hawks had Marvin Williams ranked No. 1, Andrew Bogut ranked No. 2, Deron Williams ranked No. 3 and Paul ranked No. 4 in 2005. So on draft night, Knight took Marvin Williams with the No. 2 pick after the Bucks selected Bogut No. 1 overall.
In a tier system, however, the source conceded that all four players, at least in his mind, would have been Tier 1 players -- in other words, the Hawks thought all four had equal long-term impact potential. If the Hawks had employed a tier system, they would have ranked inside the tier based on team need and fit, rather than just ranking the prospects from 1 to 30.
In that case, the Hawks likely would have ranked either Bogut (they needed a center) or Deron Williams (they still need a point guard) No. 1. Marvin Williams actually would have been ranked No. 4 under that scenario.
In any case, like every draft system, the tier system isn't perfect. But the teams that use it have found success with it. It has allowed them to get help through the draft without overreaching. Compared to traditional top-30 lists or mock drafts, it seems like a much more precise tool of gauging which players a team should draft."