Here's my schtick:
This is obvious, but be sure to highlight your individual strengths. For example, are you a great thinker, a programming whiz, meticulous with your work, especially creative, an inspiration to other students?
It's good to throw in a "weak spot" or two as well (makes the letter more believable and you more human), and especially if there's a weak spot and evidence that you can cope with it. This might be something like that you're too picky and that makes you have a hard time getting work in on time, that you're shy and don't always speak up in class discussions, or whatever.
This "why I'm great" list is admittedly awkward to write, so let me explain the point of it. On the one hand, you have specific reasons for asking ME to write a letter for you, and you've probably been thinking about that (or you should have been :-) and so it's all much fresher in your mind than it is in mine. Making the list helps make sure I don't forget anything. The second thing is that it gives you a good sense of what's going to be in your letter, because if there's something I disagree about, I'll let you know.