GSP is one of the most talented fighters out there, mirrored by the fact that he holds 3 UFC records for most takedowns, takedown percentage and hit percentage. He's one of the best juijitsu specialists in the UFC and can jab till the match is over and win by decision. No one in the UFC controls a fight like GSP does. If GSP wants a stand up fight, it'll be a stand up fight. If GSP wants to wrestle, he'll take you down at the smartest time. GSP's timing is incredible and his endurance is very repectable though Diaz's endurance is a little better.
GSP doesn't fight with emotion, he fights with his head. Diaz is incredibly fun to watch I can admit but I don't like him that much but I always watch his fights. Diaz fights to just fight, it's like he only wants to get under your skin. He's obviously there to win the match each and every night he fights but its a different story with GSP who is there to win the fight in any way possible.
My vote: GSP by a bit.